I've created a Windows service in C#, installed it on a server and it is running fine.
Now I want to install the same service again, but running from a different working directory, having a different config file etc. Thus, I would like to have two (or more) instances of the same service running simultaneously.
Initially, this isn't possible since the installer will complain that there's already a service with the given name installed.
I can overcome this by changing my code, setting the ServiceBase.ServiceName
property to a new value, then recompiling and running InstallUtil.exe again. However, I would much prefer if I could set the service name at install-time, i.e. ideally I would do something like
InstallUtil.exe /i
/servicename="MyService Instance 2"
MyService.exe
If this isn't achievable (I very much doubt it), I would like to be able to inject the service name when I build the service. I thought it might be possible to use some sort of build event, use a clever msbuild or nant trick or something along those lines, but I haven't got a clue.
Any suggestions would be greatly appreciated.
Thank you for your time.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…