Пользовательское действие установщика Windows перед любой проверкой
Я написал пользовательское действие установщика Windows на основе учебника, найденного здесь: http://www.codeproject.com/kb/install/msicustomaction.aspx
Мое пользовательское действие убивает фоновый процесс с заданным именем, который все еще может быть открыт пользователем. Причина в том, что я не хочу, чтобы пользователи видели предупреждение о том, что данный EXE-файл запущен и должен быть закрыт, чтобы продолжить установку. Это прекрасно работает, когда MSI проходит через последовательность пользовательского интерфейса, поскольку действие создается в Таблица "InstallUISequence", как в учебнике.
Однако, когда MSI используется молча (щелкните правой кнопкой мыши и выберите Восстановить или удалить), то мое пользовательское действие, конечно, не выполняется.
Куда я должен поместить свое пользовательское действие, чтобы оно выполнялось сразу же и при беззвучном запуске?
Я попытался добавить его в "InstallExecuteSequence", но предупреждение "приложение работает" по-прежнему отображается. Затем я попытался понизить порядковый номер моего пользовательского действия до 5, но это также не помогло помощь.
Примечание:
Я использую Orca для изменения MSI, созданного из проекта установки Visual Studio. Затем я использую файл преобразования, чтобы применить его.
2 ответа:
Вам нужно запланировать действие дважды, один раз в последовательности пользовательского интерфейса и один раз в последовательности выполнения, а затем запланировать так, чтобы оно выполнялось только в первой последовательности, которая пытается его выполнить. (например,
CustomAction/@execute='firstSequence'
в WiX)Update: Если вы используете Orca, то смотрите документацию попараметрам планирования выполнения пользовательских действий , вам просто нужно будет убедиться, что бит
msidbCustomActionTypeFirstSequence
установлен.
Вы правильно разместили пользовательское действие в "InstallExecuteSequence". Кто показывает предупреждение "приложение работает"? Вы проверили, что ваше пользовательское действие действительно выполнено? Показывает ли Orca ваше пользовательское действие как первое действие в последовательности? Что говорит журнал установки?