Как я могу предотвратить всплывающее окно с просьбой закрыть службы перед удалением - PullRequest
0 голосов
/ 24 сентября 2010

У меня есть установщик WiX, который запускает программу, которая загружает последнюю версию моего кода и устанавливает три службы Windows. У меня есть пользовательское действие запускает другую программу, которая закрывает и удаляет службы во время удаления, после InstallInitialize. Программа удаления также удаляет все файлы и каталоги, которые загружаются. Однако, когда я выполняю действия RmeoveFile по удалению файлов, он предлагает пользователю завершить работу служб, поскольку он должен обнаружить конфликт. Я бы хотел этого избежать, так как мои пользовательские действия так или иначе делают.

Так что мне нужен способ сделать одно из следующих действий:

  1. Запустите пользовательское действие (и, следовательно, мою программу, которая отключает службы), прежде чем установщик выполнит какую-либо проверку, сообщающую, что службы должны быть закрыты.

  2. Скажите установщику, чтобы он автоматически выключал службы, не предлагая пользователю сделать это. К сожалению, установочный пакет не включает службы, они загружаются моим приложением, поэтому я не уверен, как мне это сделать.

Можно ли что-нибудь из этого сделать?

1 Ответ

1 голос
/ 24 сентября 2010

Простое решение - избавиться от пользовательских действий.Установщику Windows может быть приказано управлять службами, которые он не создал.Просто автор ServiceControl такие элементы:

<Component...
  <ServiceControl Id="sc1" Name="fooservice" Remove="uninstall" Stop="uninstall"/>
</Component>
...