在安装.MSI后是否触发onStart?

时间:2017-07-02 23:14:10

标签: wix windows-installer

我已经从Windows应用程序项目生成了一个MSI,我在其中定义了一个派生自ServiceBase的服务并包含:

public void override onStart(string[] args)
{
        //some code that changes something in my database
}

除了安装.MSI之外,onStart方法的执行是否还需要其他东西? (也许启动服务?) 安装msi后,我的服务是否应出现在服务列表(services.msc)中?不确定这一切是如何运作的。谢谢。

2 个答案:

答案 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时停止/卸载它)。