0
我正在使用包含MSI軟件包和幾個EXE軟件包的WiX軟件包安裝程序。對於EXE軟件包,似乎WiX軟件包安裝程序可以處理升級或卸載,但不能同時處理兩者。是否可以使用ExePackages創建一個WiX bundle安裝程序,以處理升級和卸載ExePackage?WiX Burn軟件包安裝程序 - 處理升級和卸載exe軟件包
我碰到的第一個問題是,當卸載我的軟件包時,它只會卸載MSI軟件包,並將EXE安裝的軟件包留在系統上。我發現解決方案是將一個DetectCondition放入ExePackage元素中。但是,DetectCondition似乎會干擾升級ExePackage。在那裏使用DetectCondition時,升級安裝日誌會顯示Exe包的「錯誤0x80070002:無法找到有效負載」。
例如,與DetectCondition的ExeBundle部分看起來是這樣的:
<ExePackage Id="BLAH_INSTALLER"
SourceFile="$(var.SolutionDir)\InputBin\SetupBlah.exe"
Compressed="yes"
InstallCommand="/install /norestart /quiet"
UninstallCommand="/uninstall /quiet"
RepairCommand="/repair /quiet"
DetectCondition="BlahPresent"
Cache="always" >
<dep:Provides Key="IntelISA" Version="5.1.10.160" />
</ExePackage>
而且BlahPresent邏輯:
<util:FileSearch
Id="Blah_Installed"
Path="[ProgramFiles64Folder]\Blah\blah.exe"
Variable="BlahPresent"
Result="exists" />