Question

J'aimerais m'excuser à l'avance si je quitte des détails importants.

Je tente d'effectuer une mise à niveau où la version précédente du logiciel (et de tous les composants) doit être supprimée avant d'installer le nouveau.

Je vais essayer d'éviter de vous ennuyer avec les détails et de dire si vous faites une installation «typique», tout se passe comme prévu. Si vous choisissez de faire une installation avancée (spécifier l'installation pour tous les utilisateurs, installez l'emplacement, etc.), il semble que cela semble sauter la «Version précédente de désinstallation».

Jusqu'à présent, j'ai fait ce qui suit:

a été modifié mes balises de mise à niveau pour correspondre aux conseils d'une autre question Stackoverflow

-Verifiée La propriété "OLDVERVERSIONBEINGUPGRADED" est correctement définie

-Verifiez que les codes / ID de mise à niveau sont identiques, les numéros de version sont séquentiels (mise à niveau de 1,0,8 à 1.0.10) - après tout, l'installation 'typique' fonctionne correctement!

-Suez-vous sur le conseil donné ici: Wix-- toujours écraser la version précédente et suivi ceci: http://wix.sourceforge.net/manual-wix3/ Major_upgrade.htm

-Intré à mettre en œuvre un piratage en appelant manuellement MSIEXEC pour désinstaller une version précédente par son identifiant de produit (cela a échoué parce que nous installons déjà quelque chose - y a-t-il un meilleur moyen de planifier cela?)

ma section de produit / mise à niveau ressemble à ceci:

<Product Id="GUID1" UpgradeCode="GUID2" Version="1.0.10.0">
    <Package Compressed="yes" InstallerVersion="200"/>
    <MajorUpgrade Schedule="afterInstallInitialize" 
      DowngradeErrorMessage="Another version of [ProductName] is already installed."/>
    <Upgrade Id="GUID2">
        <UpgradeVersion Minimum="1.0.10" OnlyDetect="yes"
             Property="NEWERVERSIONDETECTED" />
        <UpgradeVersion Maximum="1.0.10" IncludeMaximum="no" 
             Property="PREVIOUSVERSIONINSTALLED" />
    </Upgrade>

Je suis un débutant Wix, alors j'ai peut-être négligé des détails importants tout en décrivant mon problème. Si j'ai négligé d'inclure quelque chose d'important, merci de me le faire savoir.

Merci d'avance pour toute entrée que vous pouvez fournir.

Était-ce utile?

La solution

On dirait que vous courez dans la même limitation que moi, voir Cette question .Vous ne pouvez pas modifier la portée d'installation ("par utilisateur" ou "par machine") dans une mise à niveau.

Il n'y a pas de solution simple autour de celui-ci dans Windows Installer.Vous ne pouvez créer qu'un exe de bootstrapper séparé qui désinstalle la version précédente, puis commence l'installation de la nouvelle version.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top