从 Add/Remove 个程序调用 EXE 引导程序
Calling EXE bootstrapper from Add/Remove Programs
我有两个 MSI 安装包(使用 WiX), a.msi
and b.msi
which are bootstrapped into one EXe file using Inno Setup 完成,结果是 c.exe
。在 Add/Remove 程序中只列出了 a.msi
。
问题是当用户从 Add/Remove 程序中删除 a.msi
时,我在 WiX 中有一个自定义操作被触发,调用 b.msi
进行卸载。现在 b.msi
将无法卸载,因为 a.msi
正在卸载并且 Windows 不会让两个卸载程序实例 运行 并行。
我想问的是,我可以设置 Add/Remove 程序来调用 c.exe
引导程序,这样我就可以同时删除 a.msi
和 b.msi
吗?
注意:b.msi
来自外部来源,我无法更改它。
在 Inno Setup 中创建的安装程序会自动将其自身添加到 Add/Remove 个程序。
如果那里没有它,则必须使用 Uninstallable=no
指令明确禁用它。只需启用它。
关于如何从 Inno Setup 卸载程序中卸载 .msi,请参阅:
Uninstall an MSI during during Inno Setup uninstall
我有两个 MSI 安装包(使用 WiX), a.msi
and b.msi
which are bootstrapped into one EXe file using Inno Setup 完成,结果是 c.exe
。在 Add/Remove 程序中只列出了 a.msi
。
问题是当用户从 Add/Remove 程序中删除 a.msi
时,我在 WiX 中有一个自定义操作被触发,调用 b.msi
进行卸载。现在 b.msi
将无法卸载,因为 a.msi
正在卸载并且 Windows 不会让两个卸载程序实例 运行 并行。
我想问的是,我可以设置 Add/Remove 程序来调用 c.exe
引导程序,这样我就可以同时删除 a.msi
和 b.msi
吗?
注意:b.msi
来自外部来源,我无法更改它。
在 Inno Setup 中创建的安装程序会自动将其自身添加到 Add/Remove 个程序。
如果那里没有它,则必须使用 Uninstallable=no
指令明确禁用它。只需启用它。
关于如何从 Inno Setup 卸载程序中卸载 .msi,请参阅:
Uninstall an MSI during during Inno Setup uninstall