Ich bin nur ungern diese Frage zu dieser Zeit fragen, wie ich WiX - Doing a major upgrade on a multi instance install wiederholen ... Aber ich hoffe, dass meine Frage beantwortet werden :)Haupt Upgrade auf einer Multi-Instanz-Installer
Ich habe ein Installationsprogramm mit mehrer Instanzen:
<Product Id="{GUID}" UpgradeCode="{GUID}" Version="!(wix.Version)" Name="MyProduct" Manufacturer="MyCompany">
<MajorUpgrade Schedule="afterInstallExecute" DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<Property Id="INSTANCEID" Value="Default" />
<InstanceTransforms Property="INSTANCEID">
<Instance Id="I01" ProductName="MyProduct_I01" ProductCode="{GUID}" UpgradeCode="{GUID}" />
<Instance Id="I02" ProductName="MyProduct_I02" ProductCode="{GUID}" UpgradeCode="{GUID}" />
.
.
.
<Instance Id="I49" ProductName="MyProduct_I49" ProductCode="{GUID}" UpgradeCode="{GUID}" />
<Instance Id="I50" ProductName="MyProduct_I50" ProductCode="{GUID}" UpgradeCode="{GUID}" />
</InstanceTransforms>
</Product>
aus Gründen der Klarheit verwendet jede neue Version:
- eine andere Versionsnummer (anders in mindestens einer der ersten 3 Zahlen) 012.351.
- Ein anderer Produkt-Code für jede Instanz
- Der gleiche Upgrade-Code für jede Instanz
- ich jedes Produkt mit Domain-Admin-Rechten installiere
Vor dem Produktcode jede neue Version ändert ich das gleiche verwenden für Jede Version, und obwohl es ein bisschen ungeschickt war (gelöschte Komponenten für immer behalten), funktionierte der Neuinstallationsprozess.
Nachfolgende Neuinstallationen mit verschiedenen Versionen führen dazu, dass msiexec.exe alle Komponenten als fehlend erkennt und somit die Installation fehlschlägt. Es sah so aus, als wäre es an der Zeit, zu größeren Upgrades überzugehen!
Upgrade die naive Weise
msiexec.exe /i "installer.msi" /n {OLD_VERSION_PRODUCTCODE}
eine falsche Meldung angezeigt:
Die Systemadministrator Politik gesetzt diese Installation zu verhindern.
-Upgrade über neu installieren
msiexec.exe /i "installer.msi" /n {OLD_VERSION_PRODUCTCODE} REINSTALL=ALL REINSTALLMODE=vamus
(auch versucht, mit REINSTALLMODE=amus
da ein neues Produkt eine neue Installation ist, aber nee)
jede Komponente als abwesend protokolliert und didn Berühren Sie keine Datei (das Upgrade wurde erfolgreich gemeldet):
Installiert: Abwesend; Anfrage: Null; Aktion: Null
Ich bin ratlos - was fehlt mir?