我使用C#.NET編寫了Windows服務。要安裝該服務,我添加了一個「Project Installer」類,它繼承了Installer
類,並用[RunInstaller]
進行了裝飾。沒有[RunInstaller]的Windows服務
沒有[RunInstaller]
裝飾,我無法使用installutil安裝服務。
爲什麼通過在MSI中使用ServiceInstall表部署服務,MSI能夠在沒有[RunInstaller]
裝飾的情況下安裝服務?
PS:我用維克斯來創作MSI:
<ServiceInstall Id="RegistryReaderInstall" DisplayName="Registry Reader Service" Name="Registry Reader" ErrorControl="critical" Start="auto" Type="ownProcess"/>
如果您想要完全跳過'InstallUtil.exe',有一種方法可以讓您的Windows服務遵循命令提示符中的命令行選項來安裝/卸載並啓動/停止自身。我已經寫了一個如何在這裏:http://stackoverflow.com/questions/1195478/how-to-make-a-net-windows-service-start-right-after-the-installation/1195621#1195621 – 2010-09-15 14:03:31
謝謝馬特!我已經嘗試過你的指導,它工作得很好。 :)我只是想知道MSI如何在不使用InstallUtil的情況下安裝我的服務(因爲沒有[RunInstaller])。 – Ian 2010-09-16 04:35:59