Подтвердить что ты не робот

Установка .NET-сервиса с помощью InstallUtil

Я пытаюсь установить службу .NET, которую я написал. Как рекомендовано MSDN, я использую InstallUtil. Но я пропустил, как я могу установить пользователя службы по умолчанию в командной строке или даже в самой службе. Теперь, когда запущен InstallUtil, в нем появится диалоговое окно с запросом пользователя для учетных данных для пользователя. Я пытаюсь интегрировать установку сервиса в более крупную установку и нуждаюсь в установке службы, чтобы оставаться в молчании.

4b9b3361

Ответ 1

Я думаю, что, возможно, нашел это. В самой службе автоматически созданный компонент ServiceProcessInstaller имеет свойство "Учетная запись", которое может быть установлено в "LocalService", "LocalSystem", "NetworkService" или "User". По умолчанию пользователь "Пользователь" должен был отобразить подсказку.

Ответ 2

Как вы заметили, Карим, свойство "Account" - это решение. Для тех, кто интересуется различиями между контекстами безопасности, заданными этим свойством:

http://msdn.microsoft.com/en-us/library/system.serviceprocess.serviceaccount.aspx

Прежде чем использовать InstallUtil или SC, мне нравится идея создания САМОГО УСТАНОВЩИКА:

http://www.codeproject.com/KB/dotnet/WinSvcSelfInstaller.aspx

хотя я нашел это в документации .Net 1.1:

Тип ManagedInstallerClassподдерживает .NET Framework инфраструктуры и не используется непосредственно из вашего кода.

Ответ 3

Также имейте в виду SC.exe util, который не требует установки визуальной студии. Вы можете просто скопировать этот exe на сервер, который хотите создать службу, или даже запустить удаленно. Используйте параметр obj, чтобы указать пользователя.

По-видимому, для этого инструмента есть GUI, но я его не использовал.

Ответ 4

Просят ли вы, чтобы учетная запись запускала сервис или права на установку службы? Во-вторых, установка в качестве администратора должна помешать этому. Во-первых, вы должны добавить ServiceProcessInstaller в свой установщик.

Я полагаю, что поверхность дизайна для службы имеет ссылку на создание установщика проекта. В этом конструкторе вы можете добавить установщик процесса типа System.ServiceProcess.ServiceProcessInstaller. Свойства этого объекта позволяют вам использовать учетную запись для службы.