Поделиться через


Синхронные и асинхронные настраиваемые действия

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

В частности, следует избегать вызовов MsiGetTargetPath и MsiSetTargetPath в асинхронных настраиваемых действиях. Вместо этого используйте MsiGetProperty для получения целевого пути. Массовых операций базы данных, таких как операции импорта, экспорта и преобразования, следует избегать в любом типе пользовательских действий.

Флаги параметров можно задать в поле Тип таблицы CustomAction, чтобы указать, что потоки main и пользовательских действий выполняются синхронно или асинхронно. См . раздел Параметры обработки возврата пользовательского действия.

Установщик может выполнять только пользовательские действия отката и параллельные действия установки как синхронные настраиваемые действия.