ClickOnce развернуть службу Windows? - PullRequest
51 голосов
/ 20 января 2009

Можно ли развернуть службу Windows с помощью ClickOnce? Если да, то как этого добиться?

В настоящее время мы должны использовать проект развертывания, и процесс установки может быть значительно упрощен с помощью ClickOnce.

Ответы [ 4 ]

29 голосов
/ 20 января 2009

AFAIK, вы не можете использовать ClickOnce от начала до конца для развертывания службы; существуют проблемы как с расположением файлов (ClickOnce устанавливается в профиль пользователя), так и с установкой (ClickOnce в значительной степени не имеет побочных эффектов).

Тем не менее, вы можете написать сервис как exe-файл, который можно самостоятельно установить / удалить из списка сервисов, , например, ; в основном вы пишете его как консольный exe и обрабатываете некоторые аргументы командной строки, используя AssemblyInstaller для [un] установки из текущей сборки. Другое преимущество заключается в том, что тот же подход может быть использован для отладки, так как вы можете запустить его из командной строки.

8 голосов
/ 30 августа 2009

Я предполагаю, что НЕТ в соответствии с Выбор между ClickOnce и установщиком Windows

1 голос
/ 21 ноября 2014

Вместо ClickOnce мне нравится использовать подход с использованием Inno Setup, как здесь https://stackoverflow.com/a/1450051/396200

У вас больше контроля над тем, что и как будет копироваться и выполняться.

Как сказал Марк Гравелл в своем ответе, я создаю exe-файл, который самостоятельно устанавливает мой сервис, а затем использую Inno Setup для его упаковки и развертывания. После установки Inno, он автоматически запускает exe, а затем мой exe устанавливает мой сервис.

0 голосов
/ 20 января 2009

Вы можете использовать развертывание ClickOnce для установки службы Windows. Однако, по моему опыту, каждый раз, когда выпускается обновление, требуется вмешательство пользователя, и это обычно устраняет причину запуска программы в качестве службы Windows.

Однако одной проблемой, которую я никогда полностью не решал для службы Windows, был запуск installutil.exe для установки службы в список служб Windows. Но это не проблема для обстоятельств, в которых я находился.

...