如何使Windows服务启动成为“自动(延迟启动)”?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (295)

设想:

作为Windows服务运行的WCF服务。帐户是“用户”。


所做的工作:

我已经重写了Projectinstaller中的OnBeforeInstall,以便能够从一个配置文件中设置用户名和密码。


我能做的是:

我希望能够将启动类型设置为自动(延迟启动)。


我试过的是:

将下面的coderow覆盖OnBeforeInstall中相应的部分

serviceInstaller1.StartType = ServiceStartMode.Automatic + 1;

想通过ServiceStartMode枚举来表示自动(延迟启动),但没有起作用。


提问于
用户回答回答于

您唯一的其他选择是使用P/Invoke调用ChangeServiceConfig.2带着SERVICE_CONFIG_DELAYED_AUTO_START_INFO。但是,由于您似乎不愿意添加注册表项,所以我怀疑您是否希望使用P/Invoke。

用户回答回答于

现在.NET 4.0已经出现了:

serviceInstaller1.StartType = ServiceStartMode.Automatic;
serviceInstaller1.DelayedAutoStart = true;

扫码关注云+社区

领取腾讯云代金券