繁体   English   中英

使用WiX从现有文件安装服务

[英]Install a service from an existing file with WiX

我知道如何安装.exe文件,安装相应的Windows服务并启动它。

我不知道如何用户计算机上的现有文件安装服务。 我不想再次复制.exe,因为它已经在用户的计算机上。

具体来说,我认为我应该使用ServiceInstall ,但是如何指定.exe文件?

我正在使用WiX 3.6。

谢谢

我认为该问题的答案是“ Windows Installer标准功能无法实现”。 替代方法是像往常一样执行自定义操作,但这不是我建议您采用的方法。

看起来,Windows Installer(因此是WiX)能够通过两种主要方式与服务一起运行:

  • 安装新服务(当然也要安装unisntall)
  • 配置现有服务

在后一种选项中,服务应安装在系统上,即应存在于服务管理控制台中。 MSI程序包只会启动/停止它,等等。

在WiX创作中指定<ServiceInstall>元素时,该元素会反映在ServiceInstall MSI表的记录 该表需要一个组件作为外键。 它检测服务的基础EXE文件的方式是该组件的KeyPath 据我所知,这是没有办法的。

因此,在这种情况下,我为您提供了两种选择(我确定这都不是您想要或期望的):

  • 按常规方式安装服务; 忘记目标PC上有一个EXE文件,并将其与MSI软件包一起携带
  • 如果这是关键要求,请在继续安装之前确保已安装服务

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM