0

如何在使用 Orca 的 msi 安装结束后运行特定服务?我知道我需要设置自定义操作,但我完全不知道该怎么做。

4

2 回答 2

0

如果您使用的是 VS 安装项目,那么答案将是您已经使用安装程序类自定义操作安装服务,因此您覆盖 Install 方法,调用 base.Install() 然后添加代码以实际启动服务。

正如 Christopher 所提到的,尽管 Windows Installer 提供了支持,但这是 VS 设置项目的方式。

如果您想使用 Visual Studio 设置并使用标准方式来控制服务,这可能会有所帮助:

http://www.installsite.org/pages/en/msi/tips.htm

并向下滚动到在 Visual Studio 中安装服务。

于 2015-01-07T19:44:44.357 回答
0

您根本不需要自定义操作,您需要ServiceInstallServiceControl表中的行。FWIW,很少有人真正使用 ORCA 来编写 MSI。它更像是一种检查 MSI 并偶尔创建转换的工具。大多数设置开发人员使用其他工具(例如Windows Installer XML)来编写内置到 MSI 中的源代码。在这种情况下,您使用ServiceInstallServiceControl元素来告诉编译器将行编写到 MSI 中的这些表中。

我维护了一个名为IsWiX的 WiX 开源项目。IsWiX 由充当安装程序脚手架的 Visual Studio 项目模板组成。它还提供了用于创作大部分安装程序逻辑的图形 UI,包括对目录、文件(组件)和服务的支持。WiX 支持 MSBuild / TFS,使 MSI 的自动化 CI 构建变得轻而易举。

我在 youtube 上有一个视频:使用 IsWiX 构建和部署 Windows 服务,其中显示了使用 Visual Studio Online 进行源代码/构建自动化的过程。这有点过时,因为在视频中我展示了手动创作 ServiceInstall / ServiceControl 元素,但在最新版本的 IsWiX 中,可以使用新的服务设计器以图形方式完成。

于 2015-01-07T13:43:13.367 回答