[英]WIX - Major Upgrade Uninstalling files it didn't install
我將WIX安裝程序分為兩個主要的MSI,一個很大,很少更新,另一個很小,經常更新。
它們都安裝到同一目錄(即..program files / MyCompany / MyProduct /),我遇到的問題是在升級較小的安裝程序時,大型安裝程序中的文件已被刪除。
如何防止較小的MSI安裝程序在重大升級中刪除較大的MSI安裝程序文件? 引導程序檢測到(reg檢查)是否需要較大的MSI,並將根據需要下載它,並且假定始終需要較小的MSI。
我將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 <> 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 "MYPRODUCT""
PerMachine="yes"
Vital="yes"/>
<MsiPackage Compressed="no"
DownloadUrl="URI TO LARGER INSTALLER"
Id="ImagingInstaller"
InstallCondition="ImgagingVersion < 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>
好的,我遇到的問題是因為我在較小的msi安裝程序的每次更新中都增加了引導打包程序的版本,而現在我只增加了msi的版本號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.