Как установить службу Windows .NET без InstallUtil.exe vb.net - PullRequest
5 голосов
/ 30 января 2012

Я создал службу Windows в vb.net. Могу ли я в любом случае создать для него установку, не требующую установки installutil?

Ответы [ 3 ]

9 голосов
/ 30 января 2012

Installutil необходим, но для упрощения вы можете создать проект установки, чтобы просто запустить MSI для установки службы.(При этом используется installutil под капотом, но он значительно упрощает установку.)

Один способ прохождения здесь: http://support.microsoft.com/kb/816169

И еще один здесь: http://msdn.microsoft.com/en-us/library/zt39148a(VS.80).aspx

* 1008Основное различие между ними заключается в количестве кода в примерах.Они оба проводят вас по одному и тому же процессу.

Статьи, на которые ссылаются, старые, но все еще применяются в VS2010.Я использовал вторую статью, чтобы пройти через процесс для службы VS2010 только на прошлой неделе.

4 голосов
/ 30 января 2012

Почему вы хотите избежать installutils?

Вы можете попробовать использовать команду sc, как в sc create ...

РЕДАКТИРОВАТЬ: Вот страница MSDN для этого: http://support.microsoft.com/?kbid=251192

DESCRIPTION:
        Creates a service entry in the registry and Service Database.
USAGE:
        sc <server> create [service name] [binPath= ] <option1> <option2>...

OPTIONS:
NOTE: The option name includes the equal sign.
      A space is required between the equal sign and the value.
 type= <own|share|interact|kernel|filesys|rec>
       (default = own)
 start= <boot|system|auto|demand|disabled|delayed-auto>
       (default = demand)
 error= <normal|severe|critical|ignore>
       (default = normal)
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <Dependencies(separated by / (forward slash))>
 obj= <AccountName|ObjectName>
       (default = LocalSystem)
 DisplayName= <display name>
 password= <password>
2 голосов
/ 31 января 2012

Вы всегда можете сделать это с записями реестра.
Ключи находятся в HKLM\SYSTEM\CurrentControlSet\services

Имя ключа, которое вы создаете, является встроенным именем службы в вашем обработчике службы. Следующие значения имеют отношение:

DisplayName = текст, отображаемый в диспетчере служб

ImagePath = FQ Имя файла исполняемого файла службы

Start (DWORD) = тип запуска (3 = автозапуск)

DelayedAutoStart (DWORD) = (1 = с задержкой)

WOW64 (DWORD) = (0 = 64-битное приложение, 1 = 32-битное приложение)

ErrorControl (DWORD) = 0

ObjectName = {имя пользователя} для запуска (LocalSystem для системной учетной записи)

Есть много других значений, но с этого стоит начать.

...