我正在尝试使用 InstallShield 为应用程序的静默(无用户交互)安装和卸载组合一个包。我没有创建此应用程序,也无权访问任何类型的安装源。我使用 setup.exe /r 为安装和卸载创建了一个响应文件,分别命名为 install.iss 和 uninstall.iss。当我在卸载程序的情况下运行 setup.exe /s /f1"%cd%\install.iss" 时,它运行得很好。麻烦的是,当我在安装程序的情况下运行 setup.exe /s /f1"%cd%\uninstall.iss" 时,我得到一个错误代码!(编号 3)我没有正确创建此响应文件吗?为什么它应该适用于安装而不适用于卸载?程序是 Teradata Manager 12.0,任何输入将不胜感激。
您可能正在处理使用“自定义”对话框和不支持静默模式安装或卸载的脚本构建的安装程序。
您可以尝试使用以下命令运行安装程序:
这将创建一个 MSI 引擎日志记录文件。这非常冗长,但这可能有助于您解决此问题。但这不太可能...
不幸的是,我最近在我有代码的设置中解决了同样类型的问题,并且“ErrorCode = -3”几乎没有用,从未设置内部 MSI 变量到安装程序显示的错误消息和没有妥善处理...
由于您显然使用的是 exe 而不是 windows 安装程序,因此您可以尝试使用 InnoSetup 而不是 InstallShield 来打包安装。我们很幸运能够将复杂的安装包放在一起,并且它具有用于无人值守安装的 /silent 和 /verysilent 模式。它是免费的,所以尝试一下没有风险。
最大的缺点是它无法生成用于部署 w/GPO 的 msi 文件,但它非常适合 exe 安装。
请参阅 InstallShield 文档中的此页面,其中列出了其命令行选项 Setup.exe 和 Update.exe 命令行参数以获取更多选项。