InstallShield响应文件缺少响应

时间:2014-05-29 18:11:52

标签: file response installshield silent msiexec

我正在尝试自动安装一些安装文件(.exe)。我设法让一个人工作没有任何问题,但我遇到了第二个问题。

我在命令提示符中使用以下命令创建了响应文件:

MyProgram.exe -r

这在我期望的C:\ Windows中生成了一个“setup.exe”文件。以下是记事本中文件的示例:

[{PRODUCT_GUID}-DlgOrder]
Dlg0={PRODUCT_GUID}-SdWelcome-0
Count=5
Dlg1={PRODUCT_GUID}-SdLicense-0
Dlg2={PRODUCT_GUID}-SdAskDestPath-0
Dlg3={PRODUCT_GUID}-SdSelectFolder-0
Dlg4={PRODUCT_GUID}-SdStartCopy-0

[{PRODUCT_GUID}-SdWelcome-0]
Result=1
[{PRODUCT_GUID}-SdLicense-0]
Result=1
[{PRODUCT_GUID}-SdAskDestPath-0]
szDir=C:\Example\
Result=1
[{PRODUCT_GUID}-SdSelectFolder-0]
szFolder=Example\Folder
Result=1
[{PRODUCT_GUID}-SdStartCopy-0]
Result=1

我使用命令:

使用setup.iss(响应文件)运行安装
program.exe /S /f1.\setup.iss

除了一个,答案似乎都有效。程序打开一个对话框,要求我从一对单选按钮中选择,以选择我想要安装的语言手册。我希望它默认点击“下一步”按钮,但显然没有记录在.iss文件中。

我需要手动添加到.iss文件才能完成此提示? 我的录音为什么不把它放进去?

其他信息: - 如果我在此步骤手动点击“下一步”,程序将按预期完成安装。 - 当我手动安装所有程序时,程序成功安装。

2 个答案:

答案 0 :(得分:2)

听起来这个安装包含一个无法正确处理MODE SILENTMODERECORDMODE的自定义对话框。要使静默安装正常工作,需要在适当时调用SilentWriteDataSilentReadData

如果您是此安装的作者(无论是原始的还是继承的),您应该处理此案例。如果您不是作者并且正在尝试静默安装此安装,则应联系供应商,或者(如Glytzhkof建议的那样)在更相关的站点上询问是否有解决方法。

答案 1 :(得分:1)

我认为响应文件只包含原始响应文件创建会话期间输入的实际答案。在原始设置运行期间是否显示此缺少的对话框?响应文件中经常缺少重新启动对话框和罕见的显示对话框。

也可能是缺少的对话框是自定义对话框而不是内置的Installshield对话框。我想这可能意味着它不会以标准方式表现。

这种设置有多复杂?你部署了多少个系统?为了可靠地部署这些文件,通常使用" setup capture"并重新打包为MSI文件 - 所谓的应用程序重新打包。

根据您拥有的设置数量,它们的重要性以及可靠地处理它们所需的机器数量,可能值得捕获它们。这有时是一项非常复杂的任务,但一旦正确完成,就会产生更可靠的部署。就个人而言,我发现重新打包的最大好处是可靠卸载的可用性 - 前提是您已正确清理了捕获。否则,您还必须为卸载创建响应文件。非常笨重且容易出错 - 即使表现良好。

您可能希望将此讨论带到serverfault.com - 相当于stackoverflow.com的系统管理员。您还可以在此处查看:http://unattended.sourceforge.net/installers.php