Я хочу запустить программу, когда мое программное обеспечение не установлено, это простая форма, которая должна собрать некоторую обратную связь о том, почему люди не устанавливают мое программное обеспечение.Запуск программы при удалении
Я нашел несколько примеров WiX, которые работают в некоторой степени.
Он работает очень хорошо со стандартной программой Windows (блокнот), но когда я пытаюсь запустить свою собственную программу, она не работает. Я думаю, что проблемы в том, что программа удаляется, прежде чем она будет запущена.
Я попытался напечатать журналы, но они не дали мне никаких подсказок о том, что делать.
Мой код до сих пор:
<CustomAction Id="LaunchFeedBackForm"
ExeCommand="notepad.exe" Directory="INSTALLDIR"
Return="asyncWait" >REMOVE="ALL"</CustomAction>
<InstallExecuteSequence>
<Custom Action="LaunchFeedBackForm" After="InstallValidate"/>
</InstallExecuteSequence>
Так что мне нужно каким-то образом деинсталлировать процесс, чтобы остановить или что-либо, пока пользователь не закроет форму обратной связи. После того, как форма была закрыта, она должна продолжить и удалить все программное обеспечение, включая программу формы обратной связи.
Привет, Спасибо за ваш ответ. Я пробовал это, но тоже не работает. Мне кажется, что он вообще не запускается, но я вижу действие в журнале. Я работаю с программами, не включенными в файл msi, но оставить программу после удаления на целевой машине, довольно yucky. – JakobJ
Если он запускается сразу после InstallValidate, он может использовать установленные файлы, потому что они еще не удалены. Вы можете попробовать сохранить файл в двоичной таблице, но я не думаю, что это проблема. Попробуйте отладить EXE (присоединить к его процессу) и посмотреть, что произойдет. Кроме того, попробуйте опубликовать полный журнал, чтобы мы могли посмотреть. –
Hi Опять же, я пошел с решением для браузера (открытие веб-страницы). Это также было довольно сложно, пришлось запустить cmd start ..., чтобы заставить его работать. Но я думаю, что Ян Скляренко был прав в своих отзывах и поэтому выбрал это решение. Но спасибо за ваш ответ. :-) – JakobJ