我知道如何安装 .exe 文件,安装相应的 Windows 服务并启动它。
我不知道如何从用户计算机上的现有文件安装服务。我不想再次复制 .exe,它已经在用户的机器上。
具体来说,我认为我应该使用ServiceInstall,但是如何指定 .exe 文件?
我正在使用 WiX 3.6。
谢谢
我知道如何安装 .exe 文件,安装相应的 Windows 服务并启动它。
我不知道如何从用户计算机上的现有文件安装服务。我不想再次复制 .exe,它已经在用户的机器上。
具体来说,我认为我应该使用ServiceInstall,但是如何指定 .exe 文件?
我正在使用 WiX 3.6。
谢谢
我认为这个问题的答案是“使用 Windows Installer 标准功能是不可能的”。与往常一样,替代方法是自定义操作,但这不是我建议您采用的路径。
看,Windows Installer(因此,WiX)能够以两种主要方式使用服务:
在后一个选项中,服务应该安装到系统上,即应该存在于服务管理控制台中。MSI 包将启动/停止它,等等。
当您<ServiceInstall>
在 WiX 创作中指定一个元素时,它会反映在ServiceInstall MSI 表的记录中。此表需要一个组件作为外键。它检测服务的底层 EXE 文件的方式是KeyPath
该组件的。据我所知,没有办法绕过它。
因此,在这种情况下,我为您看到了两种选择(我敢肯定,这两种选择都不是您想要或期望的):