Установка службы win32 с использованием MSBuild и Microsoft.Sdc.Tasks

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

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

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

2 ответа

Решение

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

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

<Exec WorkingDirectory="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"
            Command="InstallUtil.exe -i XXX.exe" />

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

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

Другие вопросы по тегам