Использование диспетчера перезапуска с внешним пользовательским интерфейсом
Разработчики установщика Windows могут подготовить пакет установки для работы с диспетчером перезапуска , следуя рекомендациям, описанным в разделе Использование установщика Windows с диспетчером перезапуска.
Укажите тип сообщения INSTALLLOGMODE_RMFILESINUSE при вызове функции MsiSetExternalUI или MsiSetExternalUIRecord , чтобы включить внешний обработчик пользовательского интерфейса. Затем установщик Windows отправляет INSTALLMESSAGE_RMFILESINUSE сообщение для использования внешними обработчиками пользовательского интерфейса, поддерживающими диспетчер перезапуска.
Внешний обработчик пользовательского интерфейса должен обрабатывать сведения, содержащиеся в INSTALLMESSAGE_RMFILESINUSE сообщениях. Если зарегистрированный или внутренний пользовательский интерфейс не обрабатывает сообщение INSTALLMESSAGE_RMFILESINUSE, установщик Windows отправляет INSTALLMESSAGE_FILESINUSE сообщение для использования существующими внешними обработчиками, поддерживающими INSTALLMESSAGE_FILESINUSE сообщения и диалоговое окно FilesInUse .
Внешний пользовательский интерфейс может возвращать значения, перечисленные в следующей таблице.
Возвращаемое значение внешнего пользовательского интерфейса | Действия, выполняемые установщиком Windows |
---|---|
IDOK | Пользователь нажал кнопку ОК . Установщик Windows запросит завершение работы диспетчера перезапуска и перезапуск приложений, которые содержат файлы, используемые в данный момент. |
IDCANCEL | Нажата кнопка ОТМЕНА . Отмените установку. |
IDIGNORE | Нажата кнопка IGNORE . Пропустить и продолжить установку. В конце установки потребуется перезагрузка. |
IDNO | Нажата кнопка NO . Если пакет имеет диалоговое окно MsiRMFilesInUse , отправьте сообщение 1610. Дополнительные сведения см. в статье Сообщения об ошибках установщика Windows. Если у пакета нет диалогового окна MsiRMFilesInUse, отправьте INSTALLMESSAGE_FILESINUSE сообщение. |
IDRETRY | Нажата кнопка RETRY . Отправьте сообщение INSTALLMESSAGE_FILESINUSE. |
-1 | Ошибка. Завершите установку. |