Установка службы win32 с использованием MSBuild и Microsoft.Sdc.Tasks - PullRequest
5 голосов
/ 22 января 2009

Я пытаюсь установить службу Windows, используя библиотеку Microsoft.Sdc.Tasks.

<ControlService Action="Install"
    ServiceName="Service1"
    User="XXX
    Password="XXX"
    ServiceExePath="$(DeployFolder)\XXX.exe"/>

Но меня постоянно просят ввести имя пользователя и пароль! Это не будет работать, так как я хотел бы использовать его в качестве автоматической сборки на сервере сборки. Я имею в виду, что пользователь и пароль, под которым я хочу запустить службу, находятся в фактической цели. Как мне получить его, чтобы установить службу, используя настроенные имя пользователя и пароль, а не запрашивать ее?

Ответы [ 2 ]

4 голосов
/ 22 января 2009

Найден этот пост , и поскольку все, что мне делает служба, - это запись и чтение из локального файла, то я должен быть в порядке, работая под учетной записью локальной службы вместо конкретного пользователя. Даже после обновления установщика службы для цели ControlService требуется имя пользователя и пароль, но , тогда я фактически не запрашиваю у меня имя пользователя и пароль. Но тогда я не хочу запускать конкретного пользователя, и цель терпит неудачу, когда не предоставлено имя пользователя и пароль в конфигурации ... Странно.

Я решил, что вместо этого выложил InstallUtil.exe. Это работает нормально после того, как я установил установщик службы для запуска в качестве учетной записи локальной службы.

<Exec WorkingDirectory="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"
            Command="InstallUtil.exe -i XXX.exe" />
2 голосов
/ 09 июля 2009

Просто для справки, чтобы установить на удаленный сервер, вы должны использовать задачу SericeController, указанную здесь:

http://weblogs.asp.net/scottgu/archive/2006/02/12/438061.aspx

...