簡體   English   中英

是什么啟動Windows Service Installer的安裝?

[英]What launches the installation of a Windows Service Installer?

我已經使用Microsoft的演練創建了服務。

有用。 但是我不知道如何。 Main()方法似乎沒有調用ProjectInstaller構造函數(看起來像安裝服務的樣子)。 實際上,解決方案中的任何地方都沒有引用ProjectInstaller (我使用Shift + F12進行了檢查)。

那么如何執行呢?

編輯

我沒有使用installutil ProgramMain()調用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM