2012-03-07 20 views
2

WIXインストーラを2つのプライマリMSIに分割しました.1つは大きく、ほとんど更新されず、もう1つは小さく、頻繁に更新されます。WIX - メジャーアップグレードインストールされていないファイルのアンインストール

これらはどちらも同じディレクトリ(つまり、プログラムファイル/ MyCompany/MyProduct /)にインストールされますが、問題は大きなインストーラのファイルが削除されていることです。

小規模のMSIインストーラがメジャーアップグレードで大きなMSIインストーラファイルを削除しないようにするにはどうすればよいですか?ブートストラップは、より大きなMSIが必要な場合は検出し(regチェック)、必要に応じてダウンロードします。小さい場合は常に必要とされます。

私は、デフォルトの書き込みブートストラップでWIX 3.6を使用しています。

ブートストラップ:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:netfx='http://schemas.microsoft.com/wix/NetFxExtension'> 
<Bundle Name="MyProduct" Version="4.0.6156" Manufacturer="MyCompany" UpgradeCode="cc5f7c9c-8e02-42b7-b202-a3b0865686c5" DisableModify="yes" DisableRepair="yes" UpdateUrl="URI TO SETUP"> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense" /> 
<WixVariable Id="WixStdbaLicenseUrl" Value="URI TO LICENSE AGREEMENT" /> 
<WixVariable Id="WixStdbaLogo" Value="ClientLogo.png" /> 
<util:RegistrySearch Id="NetDetect" 
        Variable="NetFramework" 
        Root="HKLM" 
        Key="Software\Microsoft\NET Framework Setup\NDP\v4\Full" 
        Value="Install" /> 

<util:ProductSearch Result="version" Guid="DF6C4673-A1B6-419F-B514-DBC096E6CFA8" Variable="ImgagingVersion"/> 
    <Chain> 
    <ExePackage Compressed="no" 
       DownloadUrl="URI TO DOT NET INSTALLER" 
       Id="DotNet4Install" 
       InstallCondition="NetFramework &lt;&gt; 1" 
       SourceFile="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40\dotNetFx40_Full_x86_x64.exe" 
       Permanent="yes" 
       InstallCommand="/q /norestart /ChainingPackage &quot;MYPRODUCT&quot;" 
       PerMachine="yes" 
       Vital="yes"/> 
    <MsiPackage Compressed="no" 
       DownloadUrl="URI TO LARGER INSTALLER" 
       Id="ImagingInstaller" 
       InstallCondition="ImgagingVersion &lt; v1.0.0.0" 
       SourceFile="$(var.WIX.Setup.Accusoft.TargetDir)\LargeInstaller.msi" 
       Vital="yes" 
       /> 
    <MsiPackage Compressed="no" 
       DownloadUrl="URI TO SMALLER INSTALLER" 
       Id="ClientServiceInstall" 
       SourceFile="$(var.WIX.Setup.Client.TargetDir)\SmallInstaller.msi" 
       Vital="yes"/> 
    </Chain> 
</Bundle> </Wix> 

答えて

0

[OK]を私が代わりに私が今だけのバージョン番号をインクリメントしています、私は小さいMSIインストーラの更新ごとにブートストラッパのバージョンをインクリメントしたので、持っていた問題msi。

+3

解決策であることを示す独自の回答を受け入れます。 –

関連する問題