Как устранить ошибку 1001 при установке службы Windows - PullRequest
1 голос
/ 04 октября 2011

При установке службы 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 ]

2 голосов
/ 04 октября 2011

Вы никогда не должны ловить ошибку, а затем игнорировать ее.

Это может быть вашей проблемой. Что произойдет, если вы добавите запись в блок catch, что-то вроде этого?

catch(System.Security.SecurityException exc)
{
    eLog.WriteEntry("SecurityException: " + exc.Message);
}
1 голос
/ 04 октября 2011

Да, это происходит, если вы неправильно удалили службу, которую пытаетесь установить снова. У меня была такая же проблема несколько дней назад. Я создал новый проект, скопировал тот же код и снова установил сервис с нуля. Моя проблема была в том, что

...