2

我有一个服务 [C# exe],我可以使用 Visual Studio 命令提示符窗口键入“InstallUtil MyService.exe”来部署它。现在如何从 Install Shield 2009 Premier 做同样的事情(并且像我们手动一样启动服务)?

4

1 回答 1

1

有两个主要选项。简单但不那么推荐的方法是添加 MyService.exe 作为组件的密钥文件,并将组件标记为 Installer Class。这将调用 InstallUtilLib.dll(其功能类似于 InstallUtil.exe)来安装此组件。然而,所有版本的 InstallUtilLib 都没有处理回滚,如果有任何错误,将产生一个难以理解的消息框窗口;这些是偏爱其他方法的原因。

另一个选项以相同的方式启动,将 MyService.exe 作为组件的密钥文件。然后打开组件的高级选项,使用 Install NT Services 和 Control NT Services 节点分别安装和启动服务。潜在的缺点是您需要知道服务的内部名称才能执行此操作,而且我不确定它是否适用于所有 C# 服务。

于 2009-07-22T01:12:08.217 回答