如何在不使用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