首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows服务AutoStart

Windows服务AutoStart
EN

Stack Overflow用户
提问于 2010-10-11 20:04:30
回答 3查看 723关注 0票数 1

考虑一个带有安装项目的windows服务,现在如何强制windows服务在安装完成后启动?

我试图添加项目安装程序,并在提交时,即使我启动了服务,但这将只工作,如果我使用InstallUtil im寻找一种方法,使其同时使用安装项目…

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-11 20:06:38

您可以创建一个新的自定义操作,该操作将使用ServiceController类来启动新创建的服务。

票数 1
EN

Stack Overflow用户

发布于 2015-08-06 21:11:36

为了让您的服务在安装后立即启动,您可以添加以下几行代码。通过订阅提交的事件,您可以确保它在安装后启动服务。还要注意service.StartType = ServiceStartMode.Automatic;行,它负责在自动启动属性打开的情况下安装服务,该属性使服务在系统重新启动时自动启动。

代码语言:javascript
复制
public class ProjectInstaller : Installer
{
    private ServiceProcessInstaller process;
    private ServiceInstaller service;

    public ProjectInstaller()
    {
        process = new ServiceProcessInstaller();
        process.Account = ServiceAccount.LocalSystem;
        service = new ServiceInstaller();
        service.ServiceName = "MyWCFServer";
        service.StartType = ServiceStartMode.Automatic;
        Installers.Add(process);
        Installers.Add(service);

        service.Committed += new InstallEventHandler(serviceInstaller_Committed);
    }

    void serviceInstaller_Committed(object sender, InstallEventArgs e)
    {
        ServiceController controller = new ServiceController(service.ServiceName);
        controller.Start();
        controller.WaitForStatus(ServiceControllerStatus.Running);
    }
}
票数 1
EN

Stack Overflow用户

发布于 2010-10-11 20:09:17

如Johann所建议的;首先在"Install“选项卡和"Commit”选项卡中添加一个部署项目和Add Custom Action,在这些选项卡中执行您需要的操作,这意味着启动服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3906001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档