我有一个包含多个服务的dot net windows服务项目。现在,我们的部署工程师已经使用自动脚本安装了所有服务。该脚本使用SC.exe创建服务,他不使用intallUtil。不幸的是,从我所看到的,SC.exe只为它在程序集中找到的第一个服务创建一个注册表项,似乎没有选项来指定程序集中的各个服务。除了切换到intallUtil(他不热衷)或拆分程序集(我真的不热衷),我们有什么选择?
感谢您提供的任何帮助。
答案 0 :(得分:1)
您可以使用System.Configuration.Install.AssemblyInstaller编写自定义安装程序。
在Main(string [] args)中放置一些逻辑,如果通过命令行传入/ i,则安装所有服务。然后部署工程师可以修改他的脚本来运行 yourservice / i 而不是SC Create。