Служба Windows Выберите пользователя или системную учетную запись при установке - PullRequest
15 голосов
/ 15 декабря 2010

При установке службы Windows существует ли способ, позволяющий установке пользователя выбирать между определенной учетной записью пользователя и учетной записью компьютера, например LocalSystem?Я вижу, как это сделать во время сборки через свойства установщика службы, но не во время установки.

Ответы [ 3 ]

27 голосов
/ 25 ноября 2012

@ Doobi, @Eric, по моему опыту (Win7Home 64-bit, VS2010Express, не в домене)

 processInstaller.Account = ServiceAccount.LocalService;
 processInstaller.Username = null;
 processInstaller.Password = null;

установит службу как LocalService без запроса пароля.

Чтобы установить службу в качестве учетной записи локального пользователя (и предоставить запрос пароля, чтобы пользователь мог предоставить учетные данные), мне пришлось использовать:

 this.serviceProcessInstaller.Account =System.ServiceProcess.ServiceAccount.User;
 this.serviceProcessInstaller.Password = null;
 this.serviceProcessInstaller.Username = null;

Важный шаг, который мне пришлось предпринять, чтобы получить службуУстановлено, чтобы ввести имя компьютера в диалоговом окне учетных данных, т.е. MYPC\dave вместо dave.Я был удивлен, что я должен был сделать это, поскольку это не на домене.Я добавил этот комментарий, так как нет других сообщений, которые я видел об этом упоминании о необходимости добавлять префикс имени пользователя к имени ПК.

6 голосов
/ 16 декабря 2010

Да, он есть в программе установки процесса.Я думаю, что в более новых платформах это видимое свойство, если вы выбираете установщик процесса в области проектирования.В последний раз, когда я делал это (.NET 2.0), вы должны добавить что-то похожее на это в файле * .designer.cs:

 processInstaller.Account = ServiceAccount.LocalService;
 processInstaller.Username = null;
 processInstaller.Password = null;
2 голосов
/ 13 января 2016

Добавляя к предыдущим ответам, не забудьте добавить имя машины к имени пользователя при вводе поля «Имя пользователя» в строке пароля. В противном случае служба не примет учетные данные, хотя, если вы введете правильное имя пользователя и pwd. Появится всплывающее окно для ввода учетных данных. Мне потребовался один день, чтобы понять это. Благодаря Badgerspot!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...