使用带有自定义参数的WIX安装程序安装Windows服务

时间:2018-05-02 13:03:19

标签: wix windows-installer installer

我想用WIX安装第三方服务。它原本不是一个Windows服务,但第三方提供了一个更多的exe,并在一些命令的帮助下,我们可以安装这个作为Windows服务。我尝试使用自定义操作,因为System.Diagnostics.Process和我提供的参数是:

startServiceProcess.StartInfo.FileName = installExePath;

startServiceProcess.StartInfo.Arguments = string.Format(CultureInfo.InvariantCulture,“{0} {1} {2} {3}”,“ - c”+ FilesPath,@“ - e”+ ExePath,@“ - l“+ debugFilePath”, - n“+ NewServiceName);

我想在WIX中使用ServiceInstall元素安装此服务(没有自定义操作)。

有什么办法可以为ServiceInstall提供自定义参数吗?这些论点也包含一些路径。

1 个答案:

答案 0 :(得分:1)

术语"论证有两种不同的用法"这里。

有些参数可以提供给命令行上的服务可执行文件,这将使服务自行安装,之后它就是一项服务。如果您想使用ServiceInstall安装该服务,那么您不需要此命令行。

当它作为已安装的服务启动时,您可以将其他参数传递给每次启动时将使用的服务。你不想要"安装"每次服务启动时都使用命令行,通常这些是服务的运行时参数。

理想情况下,可以使用ServiceInstall元素(而不是命令行)安装服务,因为ServiceInstall是Windows Installer中的标准方法。而且,第三方可能需要指定安装的服务是否每次启动时都需要任何参数(参数)。这些可以在ServiceInstall元素中指定,参数是"格式化的"字符串,因此您可以通常的方式传递属性(如文件夹位置),将它们放在方括号中,例如[INSTALLFOLDER]