Установить службу Windows - PullRequest
       23

Установить службу Windows

0 голосов
/ 25 октября 2011

Я видел множество вопросов в этом направлении, но они либо остались без ответа, либо ответы не работают / не применимы к моей ситуации.

Я сделал базовый проект службы Windows на C # (используя VS 11 Dev Preview, но, вероятно, он должен быть похож в 2010 году). Компилируется просто отлично. Когда я запускаю InstallUtil.exe на скомпилированном .exe, он выдает следующее в командной строке:

Запуск транзакционной установки.

Начало фазы установки установки. Смотрите содержание файл журнала для C: \ Users \ gzak \ Documents \ Visual Studio 11 Ход выполнения сборки \ Projects \ mysol \ myproj \ bin \ Debug \ myproj.exe. Файл находится в C: \ Users \ gzak \ Documents \ Visual Studio 11 \ Проекты \ MySOL \ MYPROJ \ Bin \ Debug \ myproj.InstallLog. Установка сборка 'C: \ Users \ gzak \ Documents \ Visual Studio 11 \ Проекты \ MySOL \ MYPROJ \ Bin \ Debug \ MYPROJ.EXE. Затронутые параметры являются: logtoconsole = logfile = C: \ Users \ gzak \ Documents \ Visual Studio 11 \ Projects \ mysol \ myproj \ bin \ Debug \ myproj.InstallLog
assemblypath = C: \ Users \ gzak \ Documents \ Visual Studio 11 \ Проекты \ MySOL \ MYPROJ \ Bin \ Debug \ MYPROJ.EXE

Фаза установки успешно завершена, а фаза фиксации - начало. Смотрите содержимое файла журнала для C: \ Users \ gzak \ Documents \ Visual Studio 11 Ход выполнения сборки \ Projects \ mysol \ myproj \ bin \ Debug \ myproj.exe. Файл находится в C: \ Users \ gzak \ Documents \ Visual Studio 11 \ Проекты \ MySOL \ MYPROJ \ Bin \ Debug \ myproj.InstallLog. совершение сборка 'C: \ Users \ gzak \ Documents \ Visual Studio 11 \ Проекты \ MySOL \ MYPROJ \ Bin \ Debug \ MYPROJ.EXE. Затронутые параметры являются: logtoconsole = logfile = C: \ Users \ gzak \ Documents \ Visual Studio 11 \ Projects \ mysol \ myproj \ bin \ Debug \ myproj.InstallLog
assemblypath = C: \ Users \ gzak \ Documents \ Visual Studio 11 \ Проекты \ MySOL \ MYPROJ \ Bin \ Debug \ MYPROJ.EXE

Фаза фиксации успешно завершена.

Транзакционная установка завершена.

Похоже, что все устанавливается правильно, но в списке служб это не отображается, и я пробовал много раз и много обновлений; это просто не там. Пара вещей, на которые стоит обратить внимание:

  1. myproj.exe имеет зависимость от some.dll, который также находится в выходной папке (в случае, если наличие зависимости каким-либо образом требует другого процесса).
  2. Я пробовал это с добавлением класса установщика в проект и без него. Нужно ли добавлять его в отдельный проект, чтобы он работал? В командной строке я получаю другое сообщение, в котором жалуется на отсутствие установщика, если я не добавляю класс установщика в проект, и, так как он исчезает, когда я это делаю, я полагаю, что он работает ... Или нет?

Кроме того, есть ли альтернативы службам Windows? Если их вообще так трудно использовать, черт возьми, я бы предпочел просто вручную настроить мою программу на запуск при старте старым способом и оставить ее запущенной без прохождения через диспетчер служб вообще. По крайней мере, таким образом я могу запустить / остановить его в отладчике по желанию. Microsoft действительно отбросила мяч сюда.

...