0

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

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

enter image description here

enter image description here

+0

您是否试图将安装的启动程序安装为服务?通常情况下,您将安装一个exe或dll(安装在您的机器上)作为服务。 –

+0

有一个exe和msi文件放置在目标机器上的文件夹中。我正在尝试午餐该exe文件。 –

+0

这是一个服务,还是一个安装发射器? MSI出现的事实(大概是当这个文件被调用时;如果你不确定,用像procmon这样的工具进行验证)表明它是后者。 –

回答

-1

终于我能够得到这个工作。我是Installshield的新手。这是我第一次使用它。

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

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

  4. 有了这些选项,我可以静静地安装服务。但是,它在卸载应用程序时不会卸载。它必须手动卸载

1

当msiexec命令行不正确显示该错误对话框。目前还不清楚你在做什么,但你不要在服务或任何exe文件上运行msiexec命令。您生成一个MSI文件然后安装它,并且该MSI文件将安装该服务。即使您在您创建的MSI文件上运行msiexec命令行,也是不正确的。

+0

不,我没有运行msiexec和或传递任何命令行参数。 –