我使用Visual Studio Installer项目扩展为我的项目创建.msi。
安装程序似乎在大多数情况下都可以正常工作,但它在安装后无法启动我的服务,我必须手动运行MyService.exe。
有办法做到这一点吗?或者我可以在某处注入一些自定义安装程序代码吗?
答案 0 :(得分:1)
Viusal Studio Installer项目不公开Windows Installer的底层ServiceInstall / ServiceControl表。这迫使开发人员使用自定义操作重新发明轮子,导致易碎的安装程序。
Windows Installer XML可以合并正确实现ServiceInstall / Service Control的模块。然后,您可以将该合并模块引用到Visual Studio安装程序中,以完成破坏最佳实践的任务。有关这方面的讨论可以在这里找到:
Augmenting InstallShield using Windows Installer XML - Windows Services
Redemption of Visual Studio Deployment Projects
IsWiX Tutorials - 如何使用WiX / IsWiX创作Windows服务
答案 1 :(得分:0)
Microsoft在此MSDN文章中描述了创建服务安装程序的过程:How to: Add Installers to Your Service Application
答案 2 :(得分:0)
看看这是否有帮助:
http://www.installsite.org/pages/en/msi/tips.htm
向下滚动到使用Visual Studio安装服务。
这是一个将ServiceInstall / ServiceControl功能添加到VS设置的工具。我有一段时间没有更新它,但所有的来源都在那里。