Подтвердить что ты не робот

ClickOnce развертывает службу Windows?

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

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

4b9b3361

Ответ 1

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

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

Ответ 3

Вместо ClickOnce я хотел бы использовать этот подход, используя Inno Setup, как здесь fooobar.com/questions/39273/...

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

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

Ответ 4

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

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