我正在尝试在 InstallShield 2016 中配置和安装服务。我使用组件向导添加了该服务。当我运行安装程序时,Window Installer 弹出窗口出现在我的屏幕上,其中包含可以传递给服务的不同选项。如何将这些选项传递给服务?我尝试使用组件向导而不是组件向导来创建服务。在这两种情况下,结果都与上述相同。我一直没有成功地寻找如何做到这一点的解释。
设置和弹出窗口的屏幕截图:
我正在尝试在 InstallShield 2016 中配置和安装服务。我使用组件向导添加了该服务。当我运行安装程序时,Window Installer 弹出窗口出现在我的屏幕上,其中包含可以传递给服务的不同选项。如何将这些选项传递给服务?我尝试使用组件向导而不是组件向导来创建服务。在这两种情况下,结果都与上述相同。我一直没有成功地寻找如何做到这一点的解释。
设置和弹出窗口的屏幕截图:
当 msiexec 命令行不正确时,会显示该错误对话框。目前尚不清楚您在做什么,但您没有在服务或任何 exe 文件上运行 msiexec 命令。您构建一个 MSI 文件然后安装它,该 MSI 文件将安装该服务。即使您正在构建的 MSI 文件上运行 msiexec 命令行,它也是不正确的。
最后我能够让它工作。我是Installshield的新手。这是我第一次使用它。
我已经阅读了有关如何使用 msiexec.exe 启动 msi 的文档,但我仍然感到困惑。根据文档,延迟操作必须在 InstallInitialize 和 InstallFinalize 之间,并且返回处理应该是同步的(等待退出代码)。但是,系统抱怨正在进行另一个安装,因此它不会安装该服务。
为了解决这个问题,我将工作目录设置为 [service](包含我的 msi 和 exe 文件的文件夹),我将命令行设置为 msiexec.exe /i "[SERVICE]UserAgent.msi" /qn,我将返回处理设置为异步(不等待完成),将执行序列安装到计划重启后,并添加一个条件以检查未安装。
通过这些选项,我能够静默安装该服务。但是,卸载应用程序时不会卸载。必须手动卸载