Перезагрузки системы
Установщик Windows может определить, когда требуется перезагрузка системы и автоматически запрашивать перезагрузку пользователя в конце установки. Например, установщик автоматически запрашивает перезагрузку, если он должен заменить все файлы, используемые во время установки.
Приложения, использующие установщика Windows версии 4.0 или более поздней для установки и обслуживания, автоматически используют Диспетчер перезапуска для уменьшения перезагрузки системы. Установщик Windows версии 4.0 или более поздней содержит свойства и политики, позволяющие автору пакета и администраторам управлять взаимодействием установщика Windows с диспетчером перезапуска. Дополнительные сведения см. в разделе Использование установщика Windows сдиспетчера перезапуска.
Авторы пакетов установки могут планировать и подавлять перезагрузки с помощью стандартных действий в таблицах последовательности и путем задания свойств. Для обработки перезагрузки системы используются следующие действия и свойства.
Действие, диалоговое окно или свойство | Краткое описание |
---|---|
ForceReboot Action | Запрашивает пользователю перезагрузку во время установки. |
действия scheduleReboot | Запрашивает у пользователя перезагрузку в конце установки. |
свойстваREBOOT | Принудительно или подавляет определенные автоматические запросы на перезагрузку системы. |
свойстваREBOOTPROMPT | Подавляет отображение запросов на перезагрузку пользователю. Все необходимые перезагрузки выполняются автоматически. |
свойство AFTERREBOOT | Обычно используется в условии, наложенном на действие ForceReboot. |
действие InstallValidate | Отображает диалоговое окно FilesInUse при необходимости, предоставляя пользователям возможность завершить работу процессов и избежать некоторых перезагрузок системы. |
диалоговое окно filesInUse | Предоставляет пользователям возможность завершить работу процессов, чтобы избежать некоторых перезагрузок системы. |
диалоговое окно msiRMFilesInUse | Предоставляет пользователям возможность использовать Диспетчер перезапуска для закрытия и перезапуска приложений. Доступно начиная с установщика Windows версии 4.0. |
свойство ReplacedInUseFiles | Установите, если установщик установит файл, используемый. Это свойство используется пользовательскими действиями для обнаружения необходимости перезагрузки. |
MSIRESTARTMANAGERCONTROL | Свойство для отключения взаимодействия установщика Windows с Диспетчер перезапуска. Доступно начиная с установщика Windows версии 4.0. |
MSIDISABLERMRESTART | Указывает, как диспетчер перезапуска закрывает и перезапускает приложения. Доступно начиная с установщика Windows версии 4.0. |
MSIRMSHUTDOWN | Указывает, как диспетчер перезапуска закрывает и перезапускает приложения. Доступно начиная с установщика Windows версии 4.0. |
MsiSystemRebootPending | Установщик задает это свойство, если ожидается перезагрузка операционной системы. Доступно начиная с установщика Windows версии 4.0. |
DisableAutomaticApplicationShutdown | Политика отключения взаимодействия установщика Windows с диспетчера перезапуска. Доступно начиная с установщика Windows версии 4.0. |
ERROR_INSTALL_SUSPEND означает, что установка не завершена или отката. Перед завершением установки необходимо возобновить установку. Перед возобновлением установки может потребоваться перезагрузить систему.
Установщик Windows возвращает код ошибки ERROR_INSTALL_SUSPEND при запуске действия ForceReboot . Он возвращает ERROR_SUCCESS_REBOOT_REQUIRED, если перезагрузка требуется перед запуском приложения, и она возвращает ERROR_SUCCESS_REBOOT_INITIATED, если установщик фактически начал перезагрузку. Обратите внимание, что, поскольку перезагрузка асинхронна, перезагрузка может произойти до возврата кода ошибки. Дополнительные сведения см. в разделе Коды ошибок.
Пользовательские действия могут принудительно выполнить перезагрузку в конце установки, вызвав MsiSetMode. Пользовательские действия также могут проверять запрос на ожидающие перезагрузки, вызвав MsiGetMode.
Диалоговое окно FilesInUse
Установщик может определить, когда требуется перезагрузка системы, и попросите пользователя отправить запрос на перезагрузку. Обычно требуется перезагрузка системы, так как установщик пытается установить используемый в данный момент файл. Если действие installValidate обнаруживает установку файла, используемого в нем, отобразится диалоговое окно FilesInUse.
Если вы ожидаете, что установщик отобразит файл FilesInUseDialog, но это не так, это может быть вызвано одной из следующих причин:
- Используемые файлы не являются исполняемыми файлами.
- Установщик на самом деле не пытается установить эти файлы.
- Процесс хранения этих файлов — это процесс, вызывающий установку.
- Процесс хранения этих файлов — это тот, который не имеет окна с заголовком, связанным с ним.
Дополнительные сведения см. в разделе ведение журнала запросов перезагрузки.