Как я могу выполнить пользовательское действие как системный пользователь с Wix 3.0, прежде чем проверять, используются ли файлы? - PullRequest
0 голосов
/ 29 января 2010

Итак, у меня есть проект Wix 3.0, который устанавливает модуль собственного кода IIS7. При удалении я хотел бы иметь возможность закрыть пулы приложений IIS7 перед удалением файла, чтобы перезагрузка не требовалась.

Я использую утилиту appcmd для выключения пулов приложений в элементе CustomAction, но когда я пытаюсь выполнить удаление, я получаю эту ошибку до того, как установится ограничение:

Программа установки должна обновить файлы или услуги, которые не могут быть обновлены во время система работает. Если вы выбираете для продолжения потребуется перезагрузка чтобы завершить настройку.

У меня установлено свойство "After = 'InstallInitialize'" для CustomAction, поскольку в документации говорится, что любое отложенное / не олицетворенное пользовательское действие должно находиться между InstallInitialize и InstallFinalize.

Так есть ли какой-нибудь способ выполнить пользовательское действие перед выполнением этой проверки используемых файлов? Или отключить эту проверку для данного файла, или сделать проверку позже в последовательности?

1 Ответ

1 голос
/ 05 февраля 2010

Да, вы можете указать порядок выполнения действий, изменив столбец Sequence в таблице InstallExecuteSequence в файле MSI.

Получите инструмент ORCA , чтобы проверить файл MSI, чтобы понять, что я имею в виду, и используйте сценарий Javascript, чтобы изменить MSI соответствующим образом .

alt text

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