使用Orca安装后运行服务

时间:2015-01-07 13:10:15

标签: visual-studio-2010 windows-installer orca

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

2 个答案:

答案 0 :(得分:0)

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

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

我在youtube上有一个视频:Building and Deploying a Windows Service using IsWiX显示使用Visual Studio Online进行源/构建自动化的过程。它有点过时了,就像在我展示的手工编写ServiceInstall / ServiceControl元素的视频中一样,但在最新版本的IsWiX中,可以使用新的服务设计师以图形方式完成。

答案 1 :(得分:0)

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

这是VS安装项目的方式,尽管Windows Installer提供了支持,正如Christopher所提到的那样。

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

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

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