
IS2008 Major Upgrade Frage
Posted 04 June 2008 - 15:56
ich habe ein bisschen mit den Upgrademechanismen von IS2008 herum experimentiert.
So wie ich es verstanden habe, wird bei einem Major Upgrade die alte Installation deinstalliert und dann die neue wieder installiert.
Ich habe nun den Package Code, Product Version und Product Code geändert, wie es auf dieser Seite (http://knowledge.mac...rMinorSmall.htm) beschrieben steht.
Starte ich das Setup läuft das Programm durch, als wenn es eine Erstinstallation. Es kommt kein Hinweis, dass die alte Version erst deinstalliert. In der Systemsteuerung habe ich dann unter Software zweimal den selben Eintrag, nur mit unterschiedlichen Versionsnummern.
Kann mir das jemand erklären?
Danke
Posted 05 June 2008 - 07:54
wenn der Produktcode geändert wird, weiß Windows Installer nicht, dass es einen Zusammenhang zwischen den beiden Versionen gibt. Ist nützlich, wenn man mehrer Versionen nebeneinander installieren will. Ansonsten sollte der Produktcode der alten Version entsprechen und dann wird auch erst deinstalliert und anschließend die neue Version eingespielt.
Gruß,
Danny
Posted 05 June 2008 - 08:05
QUOTE (Danny Hötzel @ 2008-06-05 07:54) |
wenn der Produktcode geändert wird, weiß Windows Installer nicht, dass es einen Zusammenhang zwischen den beiden Versionen gibt. Ist nützlich, wenn man mehrer Versionen nebeneinander installieren will. Ansonsten sollte der Produktcode der alten Version entsprechen und dann wird auch erst deinstalliert und anschließend die neue Version eingespielt. |
du meinst nicht den Product sondern den Upgradecode

Posted 05 June 2008 - 08:09
QUOTE (Sascha M. @ 2008-06-04 15:56) |
So wie ich es verstanden habe, wird bei einem Major Upgrade die alte Installation deinstalliert und dann die neue wieder installiert. -> richtig Ich habe nun den Package Code, Product Version und Product Code geändert, wie es auf dieser Seite (http://knowledge.mac...rMinorSmall.htm) beschrieben steht. -> richtig Starte ich das Setup läuft das Programm durch, als wenn es eine Erstinstallation. Es kommt kein Hinweis, dass die alte Version erst deinstalliert. In der Systemsteuerung habe ich dann unter Software zweimal den selben Eintrag, nur mit unterschiedlichen Versionsnummern. -> fehlendes Upgrade Item |
Hallo,
wenn du ein MajorUpgrade erstellen willst, musst du ein entsprechendes Upgrade Item in dem UpgradeView einstellen. Dies wird dann mit den Versionen bzw. Versionsbereich versehen, den der Installer beim Installieren deines jetzigen Produktes erkennen und deinstallieren soll.
Edited by ali, 05 June 2008 - 08:10.
Posted 05 June 2008 - 09:00
QUOTE (ali @ 2008-06-05 07:05) |
du meinst nicht den Product sondern den Upgradecode ![]() |
Nein ich meine schon den Produktcode, da dieser für den Windows Installer relevant ist, um gleiche Produkte zu identifizieren.
Mit dem Upgradecode ist es so, dass man Produkte mit gemeinsame Upgradecode aktualisieren kann. Wenn ich z.B. eine Version 1.0 und 2.0 auf meinen Rechner installiert habe, kann ich mit dem Upgradecode der Version 1.0 auch genau diese Version upgraden. Die Version 2.0 bleibt in diesem Fall unangetastet. Voraussetzung ist wie oben beschrieben der entprechende Produktcode.

Gruß,
Danny
Posted 05 June 2008 - 09:18

Ich habe jetzt den Produktcode, die Version, den Paketcode geändert und zusätzlich ein Major-Upgrade-Item hinzugefügt.
Das hat dann alles so geklappt wie ich wollte. Also alte Version wurde gelöscht und dafür die neue installiert.
Den Upgradecode habe ich nicht geändert. Kann ich aber mal machen und berichten was passiert.
Posted 05 June 2008 - 09:30
Als ich das Setup startete kam die Frage, ob ich ein Update durchführen möchte. Also hat er dann ein Minor-Update gemacht! Richtig?
Puhh, alles gar nicht so einfach

Posted 05 June 2008 - 09:34
QUOTE (Danny Hötzel @ 2008-06-05 09:00) | ||
Nein ich meine schon den Produktcode, da dieser für den Windows Installer relevant ist, um gleiche Produkte zu identifizieren. Mit dem Upgradecode ist es so, dass man Produkte mit gemeinsame Upgradecode aktualisieren kann. Wenn ich z.B. eine Version 1.0 und 2.0 auf meinen Rechner installiert habe, kann ich mit dem Upgradecode der Version 1.0 auch genau diese Version upgraden. Die Version 2.0 bleibt in diesem Fall unangetastet. Voraussetzung ist wie oben beschrieben der entprechende Produktcode. |
Ein Major Upgrade erstellt man nicht indem man den Productcode gleich lässt, und wie man ein MajorUpgrade erstellt war hier die Frage.
QUOTE |
"Ansonsten sollte der Produktcode der alten Version entsprechen und dann wird auch erst deinstalliert und anschließend die neue Version eingespielt" |
Edited by ali, 05 June 2008 - 09:36.
Posted 05 June 2008 - 09:40
QUOTE (Sascha M. @ 2008-06-05 09:30) |
Jetzt habe ich den Upgradecode geändert, die Version, den Paketcode und ein Major-Upgrade-Item hinzugefügt. Als ich das Setup startete kam die Frage, ob ich ein Update durchführen möchte. Also hat er dann ein Minor-Update gemacht! Richtig? Puhh, alles gar nicht so einfach ![]() |
Hallo Sascha,
ist gar nicht so schwer.
Ändere bitte den Produktcode, den Paketcode und erhöhe die MSIVersion.
Stelle ein UpgradeItem ein mit der Eigenschaft "Erst deinstallieren dann Neuinstallieren", und gebe hier deine Vorgänger MSI-Version an.
Das sollte schon reichen damit dein MajorUpgrade erkannt wird.
In einem Log File sollte dann auch die Property IS_MAJOR_UPGRADE gesetzt sein.
Dies findest du im log bei "Checking related product"
Edited by ali, 05 June 2008 - 09:46.
Posted 05 June 2008 - 09:48
QUOTE (ali @ 2008-06-05 08:34) | ||
Ein Major Upgrade erstellt man nicht indem man den Productcode gleich lässt, und wie man ein MajorUpgrade erstellt war hier die Frage.
->ist falsch |
Sorry, my pitfall, du hast Recht, es wird nur ein Update dadurch.
Posted 05 June 2008 - 10:16
danke an alle. Denke so langsam blicke ich die ganze Sache.
Ich habe aber noch eine Frage zum Minor-Update. Reicht es dafür aus, einfach den Produktcode und die MSI-Version zu ändern, oder brauche ich da ein MinorUpgradeItem?
Posted 05 June 2008 - 10:24
der Productcode wird nur beim Major geändert.
Wenn du ein Minor Upgrade erstellen willst, dann ändere den Paketcode und erhöhe die ProduktVersion von z.b. 1.0.0 auf 1.1.0
Wenn du nur den Paketcode änderst und keine ProduktVersion änderst, dann erhältst du ein so genanntes Small-Update.
Ein Minor Upgrade Item würde ich anlegen, braucht man aber glaub ich nicht mehr, da man in den Releaseeinstellungen angeben kann, das der Paketcode automatisch neu erzeugt wird. Dies ist eine "default" Einstellung von IS.
Edited by ali, 05 June 2008 - 10:26.
Posted 05 June 2008 - 10:37
ja war der Paketcode und nicht der Produktcode und der wird bei jedem Erstellen neu generiert, wenn es in den Releaseeinstellungen so angegeben ist(default).
Ich habe mal Testweise ein MinorItem angelegt. Dann kann ich aber nicht mehr kompilieren, weil ich ein Pfad zu einem Setup angeben muss das ich aktualisieren möchte. Verstehe noch nicht, warum ich da ein Setup angeben muß, wenn doch nur der Paketcode und die Version erhöht werden müsste.
Posted 05 June 2008 - 10:44
Posted 05 June 2008 - 13:10
http://www.installsi.../Upgrading.html
Stefan Krüger
InstallSite.org twitter facebook