该场景是当在静默模式下再次安装相同的包时,它返回-3(第一次为0),这是不需要的,因为包将阻止其他包继续进行。
我认为原因是setup.iss文件仅指定第一次安装的UI操作,但是当再次运行相同的包时,UI用于卸载,因此规则不匹配并返回-3
我正在考虑在setup.iss中添加逻辑来有条件地处理安装和卸载UI,只是忽略第二次安装尝试,这样就会返回0而不是-3,这样整个安装过程就会继续。
更新
start /wait Setup.exe /s /f1C:\path\to\setup.iss with %errorlevel% = 0
start /wait Setup.exe /s /f1C:\path\to\uninstall.iss with %errorlevel% = -3
但该程序似乎已完全卸载。
Uninstall.iss:
[{1E0559A1-9644-40EF-B7B7-000000001386}-DlgOrder]
Dlg0={1E0559A1-9644-40EF-B7B7-000000001386}-MessageBox-0
Count=2
Dlg1={1E0559A1-9644-40EF-B7B7-000000001386}-SdFinishReboot-0
[{1E0559A1-9644-40EF-B7B7-000000001386}-MessageBox-0]
Result=6
[{1E0559A1-9644-40EF-B7B7-000000001386}-SdFinishReboot-0]
Result=1
BootOption=0
这里,
[{1E0559A1-9644-40EF-B7B7-000000001386}-MessageBox-0]
Result=6
似乎不是一个有效的条目,因为根据手册MessageBox应该只有结果1是OK按钮,但这里是6.但是这个响应文件没有被手动生成记录。
此条目是否可能是自定义对话框而不是消息框,应该如此对待,这是ResultCode = -3的原因?
谢谢,