Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Automatisierte Deinstallation mit IS12


1 reply to this topic

luge

luge
  • Full Members
  • 12 posts

Posted 10 January 2007 - 18:16

Hallo.

Ich verwende IS12 Professionel

Ich habe da eine installierte Version, möchte diese gerne deinstallieren und anschliessend eine neue Version installieren.
Das ganze soll jetzt aber automatisiert geschehen.

Dazu habe ich ein vb-script. Der UninstallString kommt aus der Registry: ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\InstallShield_{487E53F5-F16C-4F6C-A1B3-DAFC99C6BA2A}\UninstallString)
Das ganze mache ich wahlweise auch silent indem ich /s /f1"setup.iss" anhänge.

Set oExec = WshShell.Exec(UninstallString)

Die Deinstallation funktioniert einwandfrei. Jetzt möchte ich aber automatisiert auf das Ende des Uninstalls warten.

Set oExec = WshShell.Exec(UninstallString)
Do While oExec.Status = 0
WScript.Sleep 100
Loop

Das hat in Installshield 8 Developer einwandfrei funktioniert. Mit IS12 nicht mehr.

In einem cpp Programm das den Uninstall-String ausführt konnten wir jetzt sehen, daß die Process ID der setup.exe wärend der Deinstallation eine andere ist, als die,
die beim Start von CreateProcess zurückgegeben wird.

Wieso wird denn da erst noch mal ein neuer Process gestartet?
Gibt es eine Möglichkeit gleich den 2ten Process aufzurufen?

Schon mal Danke fürs Lesen und Nachdenken.
Lukas





Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 11 January 2007 - 22:19

Ich glaube das gibts noch eine Option -m bei der InstallShield eine Datei schreibt wenn die Installation fertig ist.