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

Major Upgrade


7 replies to this topic

FlorianAtikon

FlorianAtikon
  • Full Members
  • 6 posts

Posted 21 January 2010 - 18:31

Hallo,

Ich arbeite erst seit 2 Wochen mit dem Installshield und hätte da mal folgendes anliegen:

Leider hab ich es bei meinem Installshield Projekt bis jetzt noch nicht geschafft das eine vorherige Version meines Produktes deinstalliert wird. Ich ändere jedesmal den Productcode und die Produktversion (z.B.: von 1.6.0 auf 1.6.1) und ebenfalls habe ich in meiner UpgradeTable folgenden Eintrag:

Upgrade-Code: = UpgradeCode meines Projektes
VersionMin:
VersionMax: ***ALL_VERSIONS***
Language:
Attributes: 261
Remove: (null)
ActionProperty: REMOVEOLDVERSION

Jedoch sehe ich jedesmal in meiner Softwareliste(Systemsteuerungen -> Software) mehrere meiner älteren Produkte, wenn ich das Major Upgrade Setup ausgeführt habe.
Leider weiß ich nicht was ich falsch mache, vielleicht könnt ihr mir bitte sagen was ich falsch mache bzw. was ich noch zu beachten habe das meine älteren Produktversion deinstalliert werden.

mfg

Florian.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 22 January 2010 - 11:44

Das sieht auf den ersten Blick eigentlich okay aus. Ich schlage vor, als erstes die Upgrade Validierung in InstallShield durchzuführen (im Build-Menü). Wenn das keinen Lösungshinweis bringt, dann das Logging aktivieren (http://www.msifaq.de/a/1022.htm) und dort die Einträge zu FindRelatedProducts und RemoveExistingProducts sowie den Wert von REMOVEOLDVERSION (der sich während der Ausführung ändert und deshalb ggf. mehrere Log-Einträge hat) anschauen.


FlorianAtikon

FlorianAtikon
  • Full Members
  • 6 posts

Posted 22 January 2010 - 18:16

Hallo,

Ich weiß im Moment nicht was ich geändert habe aber es funktioniert.

Ich versuche hier zu erklären was ich gemacht habe:

Ich habe eine neue Produktversion(1.6.1) + Productcode definiert. Darauf habe
ich den Update Validation Wizard ausgeführt (ohne Fehler) und ich habe mir dann das logging mit msiexec.exe /i C:\Pfad\IhrProdukt.msi /L*vx C:\IhrProdukt.log durchgeführt und aufeinmal hat er die Deinstallation der vorigen Version(1.6.0) durchgeführt.

Ich habe dann nochmals alles deinstalliert, installierte die Version 1.5.7 und darauf habe ich mir dann das Logging zur Installation der Version 1.6.0 angesehen.
In der Log-Datei bin ich dann auf folgenden Eintrag gestoßen:
FindRelatedProducts: current install is per-user. Related install for product '{748DD7C6-9AD1-40E5-A775-DDD097D1A1D0}' is per-machine. Skipping...
=> (Ich bin mir ziemlich sicher das ich eigentlich Installation für AllUser ausgewählt habe aber naja.)
Daraufhin hab ich dann die Version 1.6.1 wieder installiert und er hat mir alle vorigen Produktversionen deinstalliert.

Ebenfalls bin ich draufgekommen, wenn ich das MSI Debugging ausführe die ältere Produktversion ebenfalls nicht deinstalliert wird. Die Deinstallation wird nur durchgeführt wenn ich die erstellte MSI Datei ausführe. Woher kommt dies?

Ich weiß zwar nicht warum es jetzt funktionert, aber zumindest weiß ich jetzt wie ich das Logging aktiviere, damit ich mir eventuelle Fehler ansehen kann. (Das wird mir sehr viel weiterhelfen).

Auf jedenfall danke ich dir sehr, das du dir die Zeit genommen hast mir zu helfen.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 22 January 2010 - 19:01

QUOTE
Die Deinstallation wird nur durchgeführt wenn ich die erstellte MSI Datei ausführe. Woher kommt dies?
Wie startest du denn die MSI-Datei? Durch Doppelklick auf die .msi im Explorer? Oder über die Installshield-Entwicklungs-Oberfläche? Oder per setup.exe?

FlorianAtikon

FlorianAtikon
  • Full Members
  • 6 posts

Posted 22 January 2010 - 19:18

Durch Doppelklick auf die .msi im Explorer.

FlorianAtikon

FlorianAtikon
  • Full Members
  • 6 posts

Posted 22 January 2010 - 20:41

Wenn ich es aus der Installshield-Entwicklungs-Oberfläche starte wird vorige Version nicht deiinstalliert. Wenn ich die .msi aus dem Explorer starte dann schon.

So meinte ich das.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 January 2010 - 15:53

In der InstallShield-Oberfläche gibt es eine Option (die standardmäßig eingeschaltet ist), dass InstallShield die vorherige Version entfernen soll bevor es das neue Setup startet. Vielleicht kommt sich das was in die Quere?

FlorianAtikon

FlorianAtikon
  • Full Members
  • 6 posts

Posted 25 January 2010 - 19:34

Mag sein. Jedoch gilt diese Eigenschaften für das Starten der MSI aus dem Installshield und nicht für das Debuggen. Aber sei wie es sei, ich werde dies direkt an Installshield weiterleiten.

Danke nochmals für deine Hilfe.