Frage

Upgrades funktionieren, wenn keine Komponenten geändert haben, aber jedes Mal, wenn eine Komponente, die die Aktualisierung ändert sich nicht und es muss der Benutzer manuell deinstallieren und neu installieren.

einige 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 habe einige Probleme mit den folgenden Registrierungsschlü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 zu wissen, überprüft, ob mit „STALL = ALL REIN = vamus“ oder nicht starten msiexec, also wenn es deinstalliert wurde, aber der Registrierungsschlüssel nicht Setup bekommen entfernt haben würde versuchen, ein Upgrade zu tun, und nicht leise .

Lassen Sie mich wissen, wenn mehr Informationen benötigt werden,


Edit: Es gab einige andere Problem danach mit nur einige Dateien aktualisiert werden. Geändert RemoveExistingProducts After = „InstallValidate“ und dass diese gelöst werden. Macht es ein wenig langsamer, da es entfernt vollständig die vorherige installieren, anstatt nur Dateien aktualisieren, die geändert (die es nicht richtig für mich zu erkennen schien), aber es wird die Arbeit erledigt.

War es hilfreich?

Lösung

FWIW, Sie brauchen keine Kommandozeilenargumente ein wichtiges Upgrade durchzuführen.

Der Code sieht für mich ok, so könnte es die Versionsnummer sein, dass nicht geändert wird? (Unter Berücksichtigung der Tatsache, dass Windows Installer nur kümmert sich um die drei ersten Teile, wenn Sie mit einer 4-teiligen Versionsnummer)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top