第二次安装时的Installshield以静默模式返回-3

时间:2017-02-08 03:17:51

标签: installshield

该场景是当在静默模式下再次安装相同的包时,它返回-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的原因?

谢谢,

0 个答案:

没有答案