2016-08-09 10 views
0

バンドルは3つあり、コードは以下の通りです。 1.0.0,1.0.0.1,2.0.0。WiXバンドル:バンドル2.0.0がインストールされている場合、1.0.0用のパッチはプログラムと機能から削除されません。

1.0.0,1.0.0.1,2.0.0がインストールされている場合、インストールされている更新プログラムのビューには、1.0.0.1がインストール済みとして表示されます。最後のバージョンがアンインストールされるまで、そこに残ります。アップグレードが適用される場合

<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> 

、以前のすべてのバージョンおよびパッチは、プログラムと機能から上場廃止及び/またはインストール済みアップデートを表示しなければなりません。 MSI/MSPがBundler経由ではなく直接インストールされている場合とまったく同じです。

答えて

1

のWiX 3.9のための答えとそれ以降は次のようである...メジャーアップグレードで

はのUpgradeCodeが一致しなければなりませんバンドルされています。下の例の「AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA」を参照してください。

パッチバンドルでは、アップグレードコードは、バンドル内で使用される他のGUIDとは無関係に一意である必要があります。この例では「CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC」です。

メジャーアップグレードバンドルでは、RelatedBundleが一意である必要があります。このGUIDは、メジャーアップグレードのすべてのパッチで使用されます。この例では「BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB」となっている。

これらの設定では、メジャーアップグレードが[プログラムと機能]に表示され、パッチが[インストールされている更新プログラムの表示]に表示されます。

<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

これは、MSIパッケージを元のバージョンにダウングレードしないでください。あなたもこれを仕事にもらえましたか? –

+0

@ChristopherPainterはい、それは私のために働いた。 WiXの作者が使用される方法ではないことを示すため、このWiXの使用を中止しました。他にも解決できない問題が数多くあったため、彼はそれを強く強く抱き、私たちは必要性を別の方法で解決しました。 – RobG

関連する問題