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