我有一个windows服务可执行文件,我知道是用.NET编写的,我需要在不同的服务名称下安装,以避免冲突。安装不提供指定服务名称。如果我只能访问二进制文件,那么在使用installutil进行安装时,是否有覆盖服务名称的方法?任何方式来重写.NET Windows服务名称而不重新编译?
52
A
回答
84
您是否必须使用InstallUtil?下面是命令做你想要使用的是什么SC:
sc create MyService binPath= "MyService.exe" DisplayName= "MyService"
sc description MyService "My description"
1
尝试使用sc.exe安装服务。快速搜索将产生大量文档。使用该工具,修改现有服务和/或添加新服务(包括名称)很容易。
编辑:我用这个工具安装我的.NET服务。
22
这是不正确的InstallUtil不允许您配置的服务名称。我做这一切的时候像这样
InstallUtil.exe /servicename="<service name>" "<path to service exe>"
3
这正好为我工作!
我希望有人可以使用它。
20
- 添加项目安装到您的服务
Add方法来获取CustomService名称上安装
private void RetrieveServiceName() { var serviceName = Context.Parameters["servicename"]; if (!string.IsNullOrEmpty(serviceName)) { this.SomeService.ServiceName = serviceName; this.SomeService.DisplayName = serviceName; } }
通话和卸载
public override void Install(System.Collections.IDictionary stateSaver) { RetrieveServiceName(); base.Install(stateSaver); } public override void Uninstall(System.Collections.IDictionary savedState) { RetrieveServiceName(); base.Uninstall(savedState); }
installutil /servicename=”My Service [SysTest]” d:\pathToMyService\Service.exe
+0
非常有帮助 - 谢谢 – Mani5556 2015-03-31 16:59:22
+0
这是非常有用的,我必须重新编译我的服务可执行文件才能使其工作,一旦我添加了这个代码,那对我来说不是问题。 – 2016-07-08 11:20:39
相关问题
- 1. Apache重写:强制https和服务器名称,而不是IP
- 2. 如何更改Web服务URL而无需重新编译?
- 3. 以编程方式重新启动Windows服务
- 4. .NET Windows服务 - 通过服务重新启动获取更新
- 5. .NET 3.5:动态添加类而不重新编译
- 6. 更改.NET应用程序设置而不重新编译
- 7. Windows服务如何以编程方式重启自身?
- 8. 更新Windows服务程序集而不重新启动它?
- 9. 如何重新启动我的窗口服务以编程方式在c#.net
- 10. URL重写:服务器不重写
- 11. 从服务重新启动Windows服务
- 12. Webpack开发服务器 - 重新加载/重新编译不起作用
- 13. 编译debug = true - 更改而不重新编译?
- 14. 更改服务器而不重新编译iPhone应用程序,怎么样?
- 15. 重新部署弹簧引导服务而不重新启动?
- 16. 任何方式来重命名图像文件名?
- 17. 如何重新启动Windows服务?
- 18. 如何重新启动windows服务c#
- 19. 重新启动Windows服务的桌面快捷方式
- 20. 计划任务是否影响重新启动Windows服务?
- 21. 编辑节点js文件而不重新启动服务器
- 22. 编辑导轨gem而不重新启动服务器
- 23. 任何方式来“重启”JVM?
- 24. 如何重新编译nginx
- 25. 如何重新编译IL
- 26. 在Windows服务器的URL重写
- 27. 重新编译jodatime?
- 28. 重新编译PHP
- 29. 任何方式来重写Python中的和运算符?
- 30. 定义变量名称,除非在编译器中重新编译
这看起来正是我想要的 - 但我无法让它工作。我只是不断收到“使用”消息。 – Nathan 2009-11-10 15:42:17
我的问题是显然必须是等号和binPath值之间的空格,例如, sc创建ahSchedulerService binPath =“MyService.exe”,而不是sc创建ahSchedulerService binPath =“MyService.exe”。 – Nathan 2009-11-10 15:56:15
啊,我忘记了。对不起,给你一个不好的例子。即使使用管理员权限cmd, – 2009-11-11 19:47:39