[英]What launches the installation of a Windows Service Installer?
我已經使用Microsoft的演練創建了服務。
有用。 但是我不知道如何。 Main()
方法似乎沒有調用ProjectInstaller
構造函數(看起來像安裝服務的樣子)。 實際上,解決方案中的任何地方都沒有引用ProjectInstaller
(我使用Shift + F12進行了檢查)。
那么如何執行呢?
編輯
我沒有使用installutil 。 Program
的Main()
調用ManagedInstallerClass.InstallHelper(args);
。
用於安裝該服務的程序( installutil.exe
)將檢查您的程序集並運行安裝程序。 如其文檔中所述 :
Installutil.exe使用反射檢查指定的程序集並查找將System.ComponentModel.RunInstallerAttribute屬性設置為true的所有Installer類型。
然后,該工具在Installer類型的每個實例上執行Installer.Install或Installer.Uninstall方法。 Installutil.exe以事務方式執行安裝; 也就是說,如果其中一個程序集安裝失敗,則會回滾所有其他程序集的安裝。 卸載不是事務性的。
更新:您說您不使用installutil
而是使用ManagedInstallerClass.InstallHelper
。 閱讀此類的文檔:
此API支持產品基礎結構,不能直接在您的代碼中使用。
處理Installutil.exe(安裝程序工具)的功能。
因此,首先您不應該使用它,其次-它與installutil
相同(因此與此問題相關-使用反射檢查您的程序集並運行安裝程序)。 我想installutil
工具實際上只是調用此方法。 請注意,您必須在ManagedInstallerClass.InstallHelper
args
中傳遞程序集的路徑,這就是它知道如何使用反射檢查哪個程序集並運行安裝程序的方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.