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



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

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

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

我正在使用WiX 3.6。

感谢

我认为这个问题的答案是"使用Windows Installer标准功能是不可能的"。和往常一样,另一种选择是自定义操作,但这不是我建议你走的路。

看,Windows安装程序(以及WiX)能够以两种主要方式使用服务:

  • 安装一个新服务(当然还有卸载)
  • 配置现有服务

在后一个选项中,服务应安装到系统上,即应出现在服务管理控制台中。MSI软件包只会启动/停止它,等等

当您在WiX创作中指定<ServiceInstall>元素时,它会反映在ServiceInstall MSI表的记录中。此表需要一个组件作为外键。它检测服务的底层EXE文件的方式是该组件的KeyPath。就我所见,没有办法绕过它。

因此,在这种情况下,我看到了两种选择(我相信这两种选择都不是你想要或期望的):

  • 以通常的方式安装服务;忘记目标电脑上有一个EXE文件,并将其与MSI包一起带来
  • 如果这是一个关键要求,请确保在继续安装之前安装了服务

相关内容

  • 没有找到相关文章

最新更新