如何在不使用installutil.exe的情況下以編程方式安裝Windows服務?以編程方式安裝Windows服務
回答
可以通過添加該代碼安裝服務(在程序文件,Program.cs中)使用指定的參數從命令行運行時自行安裝文章,而且效果很好。
該鏈接已關閉。 – 2011-05-05 23:37:03
雖然這是一個清晰且合適的方式,但不是使用「低級」advapi32.dll,框架文檔中提到「此API支持.NET Framework基礎結構,不能直接在您的代碼中使用」。但我仍然更喜歡「ManagedInstallerClass」以及新的.net版本未來不兼容的風險。 (http://msdn.microsoft.com/pt-br/library/system.configuration.install.managedinstallerclass) – Luciano 2012-08-08 18:06:54
我通過命令行安裝和卸載我的Windows服務,例如MyWindowsService.exe -install
和MyWindowsService.exe -uninstall
,以免我自己使用installutil.exe
。我寫了一套關於如何做到這一點的說明here。
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main(string[] args)
{
if (System.Environment.UserInteractive)
{
if (args.Length > 0)
{
switch (args[0])
{
case "-install":
{
ManagedInstallerClass.InstallHelper(new string[] { Assembly.GetExecutingAssembly().Location });
break;
}
case "-uninstall":
{
ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location });
break;
}
}
}
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new MyService() };
ServiceBase.Run(ServicesToRun);
}
}
該OP問如何以編程方式做到這一點,而不是通過命令行。 – Mike 2017-11-03 03:38:36
我的解決方案是一種程序化的解決方案,通過命令行以與接受的答案相同的方式訪問。 – 2017-11-03 15:46:47
我用從以下CodeProject上的方法:
偉大的鏈接;但是,它引用了馬哈茂德納斯爾寫的一個斷章。我用這個,它適用於我。 https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1 – 2017-01-18 21:41:42
雖然此鏈接可能會回答這個問題,最好在這裏包含答案的重要部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/18705889) – amod 2018-02-02 17:53:47
- 1. 以編程方式安裝Windows服務
- 2. 從服務器安裝IPA文件並以編程方式安裝
- 3. Windows服務安裝程序
- 4. 遠程安裝windows服務
- 5. 遠程安裝Windows服務
- 6. 以編程方式停止Web服務中的Windows服務
- 7. 可以以編程方式安裝Windows Phone語言語言嗎?
- 8. 以編程方式安裝Windows NDIS中級(IM)驅動程序
- 9. Windows服務安裝
- 10. 安裝windows服務
- 11. 以編程方式安裝android事件
- 12. 以編程方式安裝TableLayout
- 13. 以編程方式安裝字體
- 14. 以編程方式安裝Firefox插件
- 15. 安裝Android APK以編程方式
- 16. 如何以編程方式安裝.ipa
- 17. 使用C#或WixToolset以編程方式安裝IIS Windows Server 2016
- 18. 以編程方式安裝使用.net的Windows Media Player
- 19. 在Windows中以編程方式安裝字體
- 20. 以編程方式檢測Windows Media Player是否已安裝
- 21. 我可以以編程方式啓動Windows Management Instrumentation服務嗎?
- 22. 以用戶身份安裝Windows服務
- 23. 在安裝MyFbApp.apk之前以編程方式安裝facebook.apk
- 24. 以編程方式執行安裝時出現安裝失敗
- 25. 以編程方式安裝在棉花糖上的APK安裝
- 26. 以編程方式在使用C#的遠程計算機上安裝Windows服務
- 27. 使用msi安裝程序的安裝程序windows服務
- 28. 以編程方式反彈服務
- 29. 如何以編程方式從服務
而不使用任何其他第三方安裝程序? – 2010-01-15 14:40:13
是的....我希望我可以使用像installservice()這樣的功能,當我雙擊windowsservice.exe時,它會檢查它的安裝,如果沒有安裝,它會自行安裝。 – Josh 2010-01-15 14:42:55
這是一個很好的功能:) :) – Danail 2010-01-15 14:46:00