Probleme mit Wix MajorUpgrade

8

Hier sind die Szenarien.

1.) Installieren Sie 1.0.1.1, dann aktualisieren Sie auf 1.0.2.2 === & gt; Dies funktioniert gut (wie erwartet)

2.) Installieren Sie 1.0.2.2, dann downgrade auf 1.0.1.1 === & gt; Dies funktioniert nicht (wie erwartet)

3.) Installiere 1.0.1.1 und installiere dann 1.0.1.1 === & gt; Dies geht in den Repair / Remove-Modus (wie erwartet)

4.) Installieren Sie 1.0.1.1 und installieren Sie dann 1.0.1.2 === & gt; Es wird wie ein neues installiert und zeigt das Programm zweimal im Programm "Hinzufügen / Entfernen" in der Systemsteuerung (ich nehme an, es sollte wie 3. funktionieren), da MSI nach meinem Verständnis den 4. Teil der Produktversion nicht interessiert)

Mache ich etwas falsch?

%Vor%     
Quizer 18.10.2013, 02:54
quelle

1 Antwort

19

Dies verhält sich wie in der WIX-Dokumentation erwähnt. Sie müssen die untere Eigenschaft im MajorUpgrade-Element auf "Yes" setzen, um dieses Szenario zu bearbeiten. Lesen Sie den markierten Text für weitere Details.

AllowSameVersionUpgrades (YesNoType)

Bei der Einstellung no (Standardeinstellung) ist die Installation eines Produkts mit derselben Version und demselben Upgrade-Code (jedoch mit anderem Produktcode) zulässig und wird von MSI als zwei Produkte behandelt. Wenn diese Option auf "Ja" gesetzt ist, setzt WiX das MsidbUpgradeAttributesVersionMaxInclusive-Attribut, das MSI anweist, ein Produkt mit der gleichen Version wie ein Haupt-Upgrade zu behandeln.

This is useful when two product versions differ only in the fourth version field. MSI specifically ignores that field when comparing product versions, so two products that differ only in the fourth version field are the same product and need this attribute set to yes to be detected.

Beachten Sie, dass, da MSI das vierte Produktversionsfeld ignoriert, das Setzen dieses Attributs auf yes auch Downgrades ermöglicht, wenn die ersten drei Produktversionsfelder identisch sind. Beispiel: Die Produktversion 1.0.0.1 "aktualisiert" 1.0.0.2998, da sie als die gleiche Version (1.0.0) angesehen werden. Das könnte ernsthafte Fehler wieder einführen, also ist die sicherste Wahl, die ersten drei Versionsfelder zu ändern und dieses Attribut wegzulassen, um den Standard von nein zu erhalten.

Dieses Attribut kann nicht "ja" sein, wenn AllowDowngrades auch "yes" ist - AllowDowngrades erlaubt bereits zwei Produkten mit derselben Versionsnummer einander zu aktualisieren.

Quelle: WIX-Dokumentation

    
Isaiah4110 18.10.2013, 14:24
quelle

Tags und Links