Установите службу windows с помощью команды InstallUtil.exe во время установки. - PullRequest
1 голос
/ 03 апреля 2020

У меня есть Console Application проект в Visual Studio Solution. Это приложение, называемое здесь для простоты MyApplication.exe, является не чем иным, как узлом службы WCF.

Мне нужен установщик для установки приложения на целевой компьютер, поэтому я загружаю расширение Microsoft Visual Studio Installer Projects. Я собрал все файлы, которые хочу скопировать в папку приложений, но хочу, чтобы установщик даже зарегистрировал мою службу как Windows.

Для этой цели я импортировал InstallUtil.exe, как показано на картинке ниже. Я создал вложенные дополнительные папки (Windows Папка -> Microsoft. NET -> Framework64 -> v4.030319), чтобы отразить фактическую структуру целевой среды.

enter image description here

Затем я создал Custom Action, подобный этому, в узле Commit:

enter image description here

со следующим Arguments:

"[TARGETDIR] MyApplication.exe"

Я попробовал сгенерированную настройку и заметил, что все файлы скопированы, но служба не установлена ​​( Я не вижу его в списке MS C).

Итак, под моими вопросами:

  • Где и что я делаю не так?
  • Есть ли журнал, который я могу проверить?
  • Каким образом я могу удалить службу, если она уже была установлена ​​ранее?
  • Честно говоря, я ожидал чего-то более настраиваемого. Например, дополнительный флажок связанные с моим приложением или что-то, что пользователь может управлять во время установки. Если мой App.config содержит KeyValue [Server = "localhost"], есть ли способ настроить его во время установки с помощью всплывающего окна для пользователя: "Где ваш сервер?" И обновить мой файл конфигурации с информацией, запрашиваемой пользователь?

1 Ответ

0 голосов
/ 04 апреля 2020

Ограничения : Проекты установщика Visual Studio имеют множество ограничений ( короткая версия, Chris Painter ).

Альтернативные инструменты : Существует множество других инструментов, некоторые из которых бесплатны .


WiX Toolkit : WiX Toolkit является бесплатным и открытым исходным кодом. Вот два примера того, как установить службы без необходимости выполнения пользовательских действий (возможность установки служб встроена в MSI, нет необходимости использовать InstallUtil.exe - "скажем нет" «К ненужным кампаниям с пользовательскими действиями ):


Ссылки :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...