Поставить службу в Manual
От: Аноним  
Дата: 05.02.07 09:14
Оценка:
Здраствуйте.

Требуется переустановить службу после перезапуска.
Для этого потребуется установить её в Manual, после перезапуска компьютера сменить службу и вновь поставить Auto.
Вопрос в том, каким образом можно в dotnete-е перевести службу в ручной режим работы?
При этом больше ничего изменяться не должно.
Re: Поставить службу в Manual
От: Brn Россия  
Дата: 05.02.07 12:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здраствуйте.


А>Требуется переустановить службу после перезапуска.

А>Для этого потребуется установить её в Manual, после перезапуска компьютера сменить службу и вновь поставить Auto.
А>Вопрос в том, каким образом можно в dotnete-е перевести службу в ручной режим работы?
А>При этом больше ничего изменяться не должно.

Судя по МСДН:
Set the StartType to specify either that the service start automatically after reboot, or that a user must manually start the service. A service can also be disabled, specifying that it cannot be started, either manually or programmatically, until it is enabled.
You cannot change ServiceInstaller property values after installation. To change the StartType, you either have to uninstall and reinstall your service, or manually change the setting using the Service Control Manager.

Как вариант изменить ключ в реестре: HKLM\System\ControlSet001\Services\YourServiceName\Start

1 — система
2 — авто
3 — вручную
4 — отключено
Re[2]: Поставить службу в Manual
От: Аноним  
Дата: 05.02.07 12:30
Оценка:
Здравствуйте, Brn, Вы писали:

Brn>Судя по МСДН:

Brn>Set the StartType to specify either that the service start automatically after reboot, or that a user must manually start the service. A service can also be disabled, specifying that it cannot be started, either manually or programmatically, until it is enabled.
Brn>You cannot change ServiceInstaller property values after installation. To change the StartType, you either have to uninstall and reinstall your service, or manually change the setting using the Service Control Manager.

Brn>Как вариант изменить ключ в реестре: HKLM\System\ControlSet001\Services\YourServiceName\Start


Brn>1 — система

Brn>2 — авто
Brn>3 — вручную
Brn>4 — отключено

Спасибо.
В реестре править очень не хотелось бы — мало ли какие могут быть проблемы в дальнейшем.
Возможно с этим справится System.Management.ManagementObject, но найти конкретнее не могу.
Поставить службу в Manual
От: alzt  
Дата: 07.02.07 07:19
Оценка: 4 (1)
#Имя: FAQ.dotnet.service.startmode
Здравствуйте, Аноним, Вы писали:

А>В реестре править очень не хотелось бы — мало ли какие могут быть проблемы в дальнейшем.

А>Возможно с этим справится System.Management.ManagementObject, но найти конкретнее не могу.

        void SetServiceToManual(string serviceName)
        {
            string cmd = "Win32_Service.Name='" + serviceName + "'";
            ManagementObject mo = new ManagementObject(cmd);

            //mo.InvokeMethod("ChangeStartMode", new object[] { "Automatic" });
            mo.InvokeMethod("ChangeStartMode", new object[] { "Manual" });
        }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.