1

我已經創建了一個簡單的Windows服務用於我的項目。在CMD Promt(或)中使用InstallUtil.exe安裝它是否更好?通過創建* .Msi文件。我必須在辦公室的所有系統中安裝此服務...安裝Windows服務

如果我更喜歡* .Msi文件,安裝設置時要遵循的步驟是...。 (需要更新系統註冊表嗎?).......

回答

2

如果您的項目需要正式安裝(而且大部分都是這樣),那麼.msi方法更有意義。今天的用戶希望程序能夠自行安裝,然後完全卸載。這需要比InstallUtil提供的更多。也就是說,如果您將在辦公室的系統上安裝該程序,InstallUtil是一個值得考慮的選項,因爲它的簡單性。

在我的項目中,我們需要一個正式的安裝程序並使用InstallShield。但是,我們利用InstallShield的InstallUtil程序實際安裝產品的服務部分。我們通過在服務中直接利用相同的InstallUtil內部部件來通過命令行安裝Windows服務來實現這一點。 InstallShield程序啓動一個.bat文件,該文件只需使用-install參數(例如,MyService.exe -install)從命令行執行Windows服務即可。有關如何操作的示例,請參閱分步說明here

1

不幸的是,雖然InstallUtil的使用是一個文件化的方式來做到這一點,但它不是理想的方式。使用ServiceInstall和ServiceControl表是在Windows Installer數據庫的上下文中正確最健壯的方式。