Пользовательские действия отложенного выполнения
Назначение отложенного выполнения настраиваемого действия заключается в том, чтобы отложить выполнение системного изменения до времени выполнения скрипта установки. Это отличается от обычного настраиваемого действия или стандартного действия, в котором установщик выполняет действие сразу после его обнаружения в таблице последовательностей или при вызове MsiDoAction. Пользовательское действие отложенного выполнения позволяет автору пакета указать системные операции в определенной точке выполнения скрипта установки.
Установщик не выполняет пользовательское действие отложенного выполнения во время обработки последовательности установки. Вместо этого установщик записывает пользовательское действие в скрипт установки. Единственным параметром режима, который устанавливает установщик в этом случае, является MSIRUNMODE_SCHEDULED. Описание параметров режима выполнения см. в разделе MsiGetMode .
Настраиваемое действие отложенного выполнения должно быть запланировано в таблице последовательности выполнения в разделе, где выполняется создание скрипта. Пользовательские действия для отложенного выполнения должны выполняться после InstallInitialize и до InstallFinalize в последовательности действий.
Пользовательские действия, которые задают свойства, состояния компонентов, состояния компонентов или целевые каталоги или планируют системные операции путем вставки строк в таблицы последовательностей, во многих случаях могут безопасно использовать немедленное выполнение. Однако пользовательские действия, которые изменяют систему напрямую или вызывают другую системную службу, необходимо отложить на время выполнения скрипта установки. Дополнительные сведения о потенциальных столкновениях между их пользовательскими действиями и потоком установки main см. в статье Синхронные и асинхронные настраиваемые действия.
Так как скрипт установки может выполняться за пределами сеанса установки, в котором он был написан, сеанс может больше не существовать во время выполнения скрипта установки. Это означает, что исходный дескриптор сеанса и набор данных свойств во время последовательности установки недоступен пользовательскому действию отложенного выполнения. Отложенные настраиваемые действия, вызывающие библиотеки динамической компоновки (DLL), передают дескриптор, который можно использовать только для получения очень ограниченного объема информации, как описано в разделе Получение контекстной информации для пользовательских действий отложенного выполнения.
Обратите внимание, что отложенные настраиваемые действия, включая откат ификсацию настраиваемых действий, являются единственными типами действий, которые могут выполняться вне контекста безопасности пользователей.
Связанные темы