2016-08-09 4 views
0

Il existe 3 bundles, le code est répertorié ci-dessous. 1.0.0, 1.0.0.1 et 2.0.0.Pack WiX: les correctifs pour 1.0.0 ne sont pas supprimés des programmes et fonctionnalités lorsque le paquet 2.0.0 est installé

Si 1.0.0, 1.0.0.1 et 2.0.0 sont installés, View Installed Updates affichera toujours la version 1.0.0.1 installée. Il restera là jusqu'à ce que la dernière version soit désinstallée.

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Bundle Name="Burn Installer" Version="1.0.0" Manufacturer="LANSA" UpgradeCode="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" Copyright="..." AboutUrl="..."> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> 
    <Chain> 
     <MsiPackage Id="MainPackage" SourceFile="TESTLIST_v1.0.0_en-us.msi" Vital="yes" DisplayInternalUI="yes" /> 
    </Chain> 
    </Bundle> 
</Wix> 

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Bundle Name="Patch 1.0.0.1" ParentName="Burn Installer" Version="1.0.0.1" Manufacturer="LANSA" UpgradeCode="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" Copyright="..." AboutUrl="..."> 
    <RelatedBundle Id="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" Action="Patch"/>  
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> 
    <Chain> 
     <MspPackage Id="Patch" SourceFile="TESTLIST_v1.0.0.1_en-us.msp" Vital="yes" DisplayInternalUI="no" PerMachine="yes" Permanent="no"/> 
    </Chain> 
    </Bundle> 
</Wix> 


<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Bundle Name="Burn Installer" Version="2.0.0" Manufacturer="LANSA" UpgradeCode="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" Copyright="..." AboutUrl="..."> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> 
    <Chain> 
     <MsiPackage Id="MainPackage" SourceFile="TESTLIST_v2.0.0_en-us.msi" Vital="yes" DisplayInternalUI="yes" /> 
    </Chain> 
    </Bundle> 
</Wix> 

Lorsqu'une mise à jour est appliquée, toutes les versions antérieures et correctifs doivent être retirés de la liste Programmes et fonctionnalités et/ou Voir Mises à jour installées. Exactement le même que celui qui se produit lorsque les MSI/MSP sont directement installés plutôt que via le Bundler.

Répondre

1

La réponse pour WiX 3.9 et est plus tard comme suit ...

Dans la mise à jour majeure bundles UpgradeCode doit correspondre. "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" dans l'exemple ci-dessous.

Dans les ensembles de correctifs, le code de mise à niveau doit être unique, sans rapport avec tout autre GUID utilisé dans un ensemble. "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCC" dans l'exemple.

Dans les offres de mise à niveau majeure, le module RelatedBundle doit être unique. Ce GUID est utilisé dans tous les correctifs pour cette mise à niveau majeure. "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB" dans l'exemple.

Ces paramètres garantissent également que les mises à niveau majeures sont répertoriées dans Programmes et fonctionnalités et que les correctifs sont répertoriés dans Afficher les mises à jour installées.

<Bundle Version="1.0.0" UpgradeCode="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA"> 
    <RelatedBundle Id="BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB" Action="Detect" /> 
</Bundle> 
<Bundle Version="1.0.0.1" UpgradeCode="CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC"> 
    <RelatedBundle Id="BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB" Action="Patch" /> 
</Bundle> 
<Bundle Version="2.0.0" UpgradeCode="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA"> 
    <RelatedBundle Id="DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD" Action="Detect" /> 
</Bundle> 
+0

Cela a fonctionné pour moi, sauf que la suppression du correctif ne rétrograde pas le package MSI à la version d'origine. Avez-vous eu cela pour travailler aussi? –

+0

@ChristopherPainter Oui ça a marché pour moi. Et nous avons interrompu cette utilisation de WiX comme l'auteur de WiX a indiqué que ce n'était pas la façon dont il était destiné à être utilisé. Comme il y avait un certain nombre d'autres problèmes insolubles et il était fortement véhément à ce sujet, nous avons résolu notre besoin d'une manière différente. – RobG