5

使用高级安装程序,我创建了一个生成 EXE 的包(有些部署功能不能包含在普通的 MSI 文件中)。

现在,虽然 Advanced Installer 允许我将命令行参数传递给底层 MSI,但我不知道要传递哪些参数来强制卸载包。

例如,以下参数记录设置事件并指示底层 MSI 被动运行并记录其自己的操作。

"c:\MySetup.exe" /exelog "c:\log.txt" /passive /log "c:\msilog.txt"

AdvancedInstaller 执行的结果命令最终是

msiexec.exe /i [path to extracted msi] /passive /log "c:\msilog.txt"

但尽我所能,我无法弄清楚如何让 AdvancedInstaller 使用 /uninstall 或 /x 开关启动 msiexec。例如:

"c:\MySetup.exe" /exelog "c:\log.txt" /x /log "c:\msilog.txt"

结果是

msiexec.exe /i [path to extracted msi] /x /passive /log "c:\msilog.txt"

这当然会失败,因为 /x 位于错误的位置(应该代替 /i)。Advanced Installer exe 需要哪些开关/参数?

4

2 回答 2

5

好的,它在文档中有点模糊:所有 'pre-path-to-msi' 参数都遵循 "[option] // [optional parameters]" 模式

以下将指示高级安装程序 EXE 引导程序在卸载时触发 MSI。

更新:

"c:\MySetup.exe" /exelog "c:\log.txt" /x // /log "c:\msilog.txt"
于 2011-12-08T09:53:01.137 回答
1

您可以使用//标记,例如:

"c:\MySetup.exe" /exelog "c:\log.txt" /x // /log "c:\msilog.txt"

此标记用于替换 msiexec 命令行。您可以在用户指南中了解它:http: //www.advancedinstaller.com/user-guide/exe-setup-file.html

于 2011-12-08T09:53:43.303 回答