Как запустить настраиваемое действие ПОСЛЕ того, как файлы были удалены во время удаления MSI? - PullRequest
0 голосов
/ 08 июня 2009

Во время удаления пакета интеграции Visual Studio, который я пишу, мне нужно запустить «devenv.exe / setup», чтобы обновить интерфейс VS и удалить информацию о пакете с экрана заставки / справки.

Однако он должен запускаться после удаления всех файлов надстроек и пакетов. Моя текущая настройка (с использованием настраиваемого действия класса Installer, вызываемого на этапе удаления) приводит к тому, что devenv.exe запускается слишком рано, до того, как файлы действительно будут удалены. Это означает, что информация на заставке не обновляется.

Есть идеи? Мне просто нужно запустить devenv в конце установки, так или иначе - я не связан с пользовательскими действиями.

Ответы [ 2 ]

0 голосов
/ 16 июня 2009

Уловка, как выясняется, заключалась в том, чтобы использовать новое средство Deployment Tools Foundation от MS, чтобы обернуть мои управляемые функции в неуправляемую DLL, полностью отказавшись от класса Installer. Затем я использую Orca (редактор MSI), чтобы добавить настраиваемое действие в определенное время установки.

Класс Installer поддерживает только «отложенные» пользовательские действия, которые должны выполняться в определенное время.

0 голосов
/ 09 июня 2009

Вы можете написать собственное действие как Выполнить коммит. Это означает, что он будет работать только после успешного удаления. Установите его как REMOVE="ALL", чтобы он запускался только при удалении.

...