我已经从Windows应用程序项目生成了一个MSI,我在其中定义了一个派生自ServiceBase的服务并包含:
public void override onStart(string[] args)
{
//some code that changes something in my database
}
除了安装.MSI之外,onStart方法的执行是否还需要其他东西? (也许启动服务?) 安装msi后,我的服务是否应出现在服务列表(services.msc)中?不确定这一切是如何运作的。谢谢。
答案 0 :(得分:0)
您通常还需要一个ServiceInstaller类来创建服务。这会将服务放入服务列表中。
答案 1 :(得分:0)
我建议看看WiX(3.11)和IsWiX(最新版),并按照此视频中显示的模式进行操作:
https://www.youtube.com/watch?v=bxbcPnjfzIc
(免责声明,我在GitHub上运行IsWiX FOSS项目。)
这个概念是你使用IsWiX来编写WiX项目中的ServiceInstall和ServiceControl元素,这反过来教会MSI如何安装和启动你的服务(并在你删除MSI时停止/卸载它)。