Uninstall bei neuer Version

Fragen zum AKInstallerMSI
Antworten
schmidle
Beiträge: 1
Registriert: 17.07.2006, 13:15

Uninstall bei neuer Version

Beitrag von schmidle »

Hallo,

ich möchte alte Versionen automatisch deinstallieren, wenn neue Versionen installiert werden.
Beim Setup des Updates kommt jedoch eine Meldung, dass bereits eine weitere Version installiert ist, und diese erst manuell deinstalliert werden muss.

Was bewirkt die Option REMOVEOLDVERSIONS bei Update/Produktcodes

Testszenario: 1 Datei im Temp Verzeichniss, das durch neue Datei im Temp Verzeichniss ausgetauscht wird.

Ziel: Automatische Installation / Updates durch Gruppenrichtlinien.

MfG

Rainer Schmidle
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!

Der Windows Installer unterscheidet nach Small-, Minor- und Major- Updates.
Im Groben also kleine Aktualisierungen und "Neuinstallationen".

Das Deinstallieren der alten Version wird bereits über Update/Produktcodes REMOVEOLDVERSIONS eingeleitet, wenn es sich um ein Major-Update oder eine Reinstallation handelt. Die Reinstallation (Small / Minor-Updates) wird mit den Parametern REINSTALL=ALL REINSTALLMODE=vomus eingeleitet, die entweder bei einer angekündigten Installation oder beim SMS angegeben werden müssen (der Bootstrapper kann dieses automatisieren).

Auf der Console sähe dieses so aus:
Msiexec /i setup.msi REINSTALL=ALL REINSTALLMODE=vomus
Bei einer Verteilung kann man den Parameter sicher angeben, ansonsten würde ich zum Bootstrapper raten.

Bei einem Major-Update (also dem Ändern der Produktversion und des Produktcodes) ist ein Reinstall nicht nötig.

Wenn die Installation schon verteilt wurde, bietet sich hier auch aufgrund der Größe eher ein Patch an. Hier ist im allgemeinen auch kein Reinstall nötig.

Deinstallation alter Installationen:
Das AKInstallerMSI ist so eingestellt, dass die Funktion RemoveExistingProducts nach der Installation aufgerufen wird. Die nicht mehr benötigten Daten werden als am Ende entfernt, es wird also nicht alles gelöscht und dann komplett neu aufgespielt. Ist dieses dennoch gewünscht, müssen Sie RemoveExistingProducts auf der Seite Benutzerdefinierte Aktionen -> Sequenzen -> Installation -> Ausführungssequenz zwischen InstallValidate und InstallInitialize anordnen.

Ich hoffen, das hilft Ihnen weiter.

Gruß
A. Kapust
Antworten