如何从 Wix 包中卸载 inno setup 应用程序

How to uninstall inno setup application from Wix bundle

我的 Wix 包正在安装一些与 Inno 安装程序打包在一起的第 3 方 EXE 包。如您所知,Inno Setup 卸载程序是一个单独的可执行文件。基本上,当您安装 AThirdParty.EXE - 它会在其部署的文件夹中创建一个 unin000.exe (例如 C:\Program Files (x86)\AThirdPartyApp\unins000.exe ),这就是我需要执行的我的捆绑包卸载..有人知道如何使用 Wix Bootstrapper 吗?

下面是我的 ExePackage 示例:

<PackageGroup Id="MyThirdPartyPackages">
  <ExePackage Id="AThirdPartyExe"
            DisplayName="A Third Party Exe"
            Cache="yes"
            Compressed="yes"
            PerMachine="yes"
            Permanent="no"
            Protocol="none"
            Vital="yes"
            SourceFile=".\AThirdPartyExe.exe"
            DetectCondition="AThirdPartyExeExists"
            InstallCommand="/VERYSILENT /SUPPRESSMSGBOXES"
            UninstallCommand="[ThirtdPartyEXEPath]\unins000.exe" <!-- Can I use uninstallcommand for this?? -->
              />
</PackageGroup> 

假设 Inno Setup 不支持 /uninstall 标志(不知道,但如果是的话,还有另一个只使用 MSI 的原因)并且您不想将安装程序重新打包到 MSI 中,这是我能想到的最快解决方案中间是个男人EXE.

InstallShield 过去(可能仍然)有一个 Helper.exe 用于它的一些安装先决条件。您可以对其进行编码以接受 /INSTALL 和 /UNINSTALL 参数,并让 WiX 调用它。它会依次调用实际的安装和卸载,如上所述。