Upgrades funktionieren einwandfrei, wenn sich keine Komponenten geändert haben, aber jedes Mal, wenn eine Komponente geändert wird, schlägt das Upgrade fehl, und der Benutzer muss manuell deinstalliert und neu installiert werden.Wix Major Upgrade, was mache ich falsch?
einig Auszüge:
<Product Id="*" Name="My Application" Language="1033" Version="!(bind.FileVersion.ClientEXE)" Manufacturer="My Company" UpgradeCode="MYGUID-b94a-44eb-8e92-9286f1d89bbd">
<Package Id="*" Description="My Installer" Comments="Copyright My Company 2008" InstallerVersion="200" Compressed="yes" />
<Upgrade Id="MYGUID-b94a-44eb-8e92-9286f1d89bbd">
<UpgradeVersion Language="1033" Property="UPGRADEFOUND" Minimum="0.0.0.0" Maximum="99.99.99.99" IncludeMinimum="yes" IncludeMaximum="yes" />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize" />
</InstallExecuteSequence>
Auch haben einige Probleme mit der Registrierung folgenden Schlüssel manchmal nicht bei der Deinstallation entfernt, und ich verstehe nicht, warum:
<Component Id="InstalledRegistry" Guid="SOMEGUID-0a17-4c6b-983d-8f3feb3a7724">
<RegistryKey Id="InstalledRegKey" Root="HKMU" Key="SOFTWARE\MyCompany\Client" Action="createAndRemoveOnUninstall">
<RegistryValue Name="Version" Type="string" Value="!(bind.FileVersion.ClientEXE)" KeyPath="yes"/>
</RegistryKey>
</Component>
Das ist, was das Bootstrap-Programm überprüft, wissen, ob msiexec mit "REINSTALL = ALL REINSTALLMODE = vamus" gestartet werden soll oder nicht, also wenn es deinstalliert wurde, aber der Registrierungsschlüssel nicht entfernt wurde, würde Setup versuchen, ein Upgrade durchzuführen und stumm zu sein.
Lassen Sie mich wissen, wenn mehr Informationen
Bearbeiten erforderlich ist: Es gibt einige andere Problem war danach mit nur einige Dateien aktualisiert werden. RemoveExistingProducts zu After = "InstallValidate" geändert und das behoben. Macht es ein bisschen langsamer, da es die vorherige Installation vollständig entfernt, anstatt nur Dateien zu aktualisieren, die sich geändert haben (was für mich nicht richtig zu erkennen schien), aber es erledigt die Arbeit.
Ich sehe, so REINSTALL = ALL und REINSTALLMODE sind nicht für größere Aktualisierung erforderlich. Ich denke, das könnte das Problem sein. Akzeptiert, nachdem ich überprüft habe – Davy8