InstallShield 2016 未安装服务

InstallShield 2016 not installing Service

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

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

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

我终于成功了。我是 Installshield 的新手。这是我第一次使用它。

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

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

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