目标:支持在单个机器上运行多个实例的Windows服务,使用安装程序项目创建一个能够:
- 接收服务名称的用户输入
- 安装服务
- 序列化第1项中的服务名称(以便可以在日志和卸载时使用正确的名称)
我的最初希望是在App.config中设置服务名称(然后在ServiceInstaller实例化时检索它以进行卸载)。这似乎很天真,因为它在安装期间无法访问。
如果MyInstaller扩展了Installer,则可以调用base.Install();但是,在MyInstaller.Install()中和base.Install()之后尝试写入app.config的尝试效果不佳。
因此,虽然可以使用自定义服务名称安装该服务,但该名称未被序列化,卸载程序在卸载时会出现问题。
应该如何解决?