如何在安装Windows服务时解决错误1001

时间:2011-10-04 12:31:00

标签: c# .net windows-services setup-project

安装Windows服务时出现以下错误。

  

错误1001。在安装的提交阶段发生异常。此异常将被忽略,安装将继续。但是,安装完成后应用程序可能无法正常运行 - >无法在计算机上启动服务ACSERVICE2。'。 - >服务未及时响应启动或控制请求。

感谢任何帮助...

代码是:

    protected override void OnStart(string[] args)
    {
        try
        {
            AC_Main objMain = new AC_Main();
            td=new Thread(new ThreadStart(objMain.Main));
            td.IsBackground = true;
            td.Start();
            eLog.WriteEntry("Service Started at :" + System.DateTime.Now.ToString());
        }
        catch(System.Security.SecurityException exc)
        {

        }
    }


 protected override void OnStop()
        {
            td.Abort();
            eLog.WriteEntry("Service Stopped at :" + System.DateTime.Now.ToString());
        }

提交方法是:

private void ProjectInstaller_Committed(object sender, InstallEventArgs e)
    {
        serviceController.ServiceName = "ACSERVICE2";
        ConnectionOptions coOptions = new ConnectionOptions();

        coOptions.Impersonation = ImpersonationLevel.Impersonate;

        ManagementScope mgmtScope = new System.Management.ManagementScope(@"root\CIMV2", coOptions);

        mgmtScope.Connect();

        ManagementObject wmiService;

        wmiService = new ManagementObject("Win32_Service.Name='" + this.serviceController.ServiceName + "'");

        ManagementBaseObject InParam = wmiService.GetMethodParameters("Change");

        InParam["DesktopInteract"] = true;

        ManagementBaseObject OutParam = wmiService.InvokeMethod("Change", InParam, null);

        this.serviceController.Start();

    }

2 个答案:

答案 0 :(得分:2)

你永远不应该发现错误然后忽略它。

那可能是你的问题。如果你向catch块添加一些日志记录会发生什么呢?

catch(System.Security.SecurityException exc)
{
    eLog.WriteEntry("SecurityException: " + exc.Message);
}

答案 1 :(得分:1)

是的,如果您没有正确卸载要重新安装的服务,就会发生这种情况。几天前我遇到了同样的问题。我创建了新项目,复制了相同的代码并从头开始重新安装了该服务。 我的问题是那个