0

我正在尝试在 InstallShield 2016 中配置和安装服务。我使用组件向导添加了该服务。当我运行安装程序时,Window Installer 弹出窗口出现在我的屏幕上,其中包含可以传递给服务的不同选项。如何将这些选项传递给服务?我尝试使用组件向导而不是组件向导来创建服务。在这两种情况下,结果都与上述相同。我一直没有成功地寻找如何做到这一点的解释。

设置和弹出窗口的屏幕截图:

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

1

当 msiexec 命令行不正确时,会显示该错误对话框。目前尚不清楚您在做什么,但您没有在服务或任何 exe 文件上运行 msiexec 命令。您构建一个 MSI 文件然后安装它,该 MSI 文件将安装该服务。即使您正在构建的 MSI 文件上运行 msiexec 命令行,它也是不正确的。

于 2017-10-12T21:01:51.753 回答
-1

最后我能够让它工作。我是Installshield的新手。这是我第一次使用它。

  1. Michael Urman 的评论非常有帮助。
  2. 我已经阅读了有关如何使用 msiexec.exe 启动 msi 的文档,但我仍然感到困惑。根据文档,延迟操作必须在 InstallInitialize 和 InstallFinalize 之间,并且返回处理应该是同步的(等待退出代码)。但是,系统抱怨正在进行另一个安装,因此它不会安装该服务。

  3. 为了解决这个问题,我将工作目录设置为 [service](包含我的 msi 和 exe 文件的文件夹),我将命令行设置为 msiexec.exe /i "[SERVICE]UserAgent.msi" /qn,我将返回处理设置为异步(不等待完成),将执行序列安装到计划重启后,并添加一个条件以检查未安装。

  4. 通过这些选项,我能够静默安装该服务。但是,卸载应用程序时不会卸载。必须手动卸载

于 2017-10-13T17:12:52.977 回答