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


Действия Finish-Install

Примечание

Функции, описанные в этом разделе, не поддерживаются в универсальных или мобильных пакетах драйверов. См . раздел Использование универсального INF-файла.

Действия завершения установки позволяют установщику выполнять операции установки.

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

В Windows 7 действие завершения установки по умолчанию предоставляется системной функцией SetupDiFinishInstallAction . Эта функция обрабатывает в интерактивном контексте администратора записи реестра RunOnce , заданные для устройства. Если на устройстве нет установщика класса или установщик класса возвращает ERROR_DI_DO_DEFAULT в ответ на запрос DIF_FINISHINSTALL_ACTION , Windows вызывает SetupDiFinishInstallAction после завершения всех установщиков устройства.

В Windows 8 и более поздних версиях действия завершения установки не запускаются автоматически при установке устройства, а функция SetupDiFinishInstallAction была удалена. Вместо этого администратор (или ограниченный пользователь, который может предоставить учетные данные администратора в запросе UAC) должен перейти в центр уведомлений и обратиться к элементу обслуживания "Завершить установку программного обеспечения устройства", чтобы выполнить действие завершения установки. До тех пор действие завершения установки не будет выполняться. Например, если пользователь подключает устройство, которое устанавливает драйвер, который включает действие завершения установки, действие завершения установки не будет выполняться автоматически в это время. Вместо этого действие завершения установки будет выполняться позже, когда пользователь инициирует его вручную. После этого, когда Windows запускает действие завершения и установки, действие имеет единственную возможность для запуска. Если действие завершается сбоем, необходимо выполнить соответствующие действия, чтобы позволить пользователю повторить попытку и завершить ее позже. Аналогичным образом, установка вспомогательного программного обеспечения, которое должно сопровождать драйвер, по-прежнему может выполняться с помощью действия завершения установки, но она также не будет установлена автоматически.

Кроме того, в зависимости от вашего сценария в Windows 8 и более поздних версиях вы можете использовать новую модель приложения устройства. Дополнительные сведения о приложениях для устройств см. в статье Разработка отличного оборудования.

Действия завершения и установки полезны в следующих ситуациях:

  • Запуск программы установки приложений для конкретного устройства, которая не предназначена для запуска в рамках страницы мастера завершения установки. Если такая программа установки имеет собственный пользовательский интерфейс, использование действия завершения установки для установки приложения обеспечивает более удобный пользовательский интерфейс.

    Например, предположим, что производитель устройства хочет установить приложение для конкретного устройства в дополнение к драйверу для устройства, а приложение для конкретного устройства имеет собственную программу установки с собственным пользовательским интерфейсом. Чтобы обеспечить оптимальное взаимодействие с пользователем, изготовитель устройства запустит программу установки в качестве действия завершения установки. Таким образом, когда Windows обнаруживает устройство и находит драйвер, Windows сначала устанавливает драйвер, а затем запускает программу установки для приложения.

  • Запуск программы установки, которая может выполняться только в интерактивном контексте пользователя (установка на стороне клиента). Например, такую программу установки можно запустить с помощью директивы InteractiveInstall в разделе INF ControlFlagsINF-файла пакета драйвера .

    Примечание Начиная с Windows Vista, такая программа установки не может выполняться так же, как в более ранних версиях Windows. Это связано с тем, что Windows Vista и более поздние версии Windows не поддерживают установку устройств в клиентской установке. Однако такая программа установки может быть запущена в качестве действия завершения установки, если пакет драйвера включает установщик класса, со-установщик класса или совместный установщик устройства, запускающий программу установки.

В этом разделе более подробно рассматриваются действия по завершению установки и включаются следующие разделы:

Обзор действий Finish-Install

Реализация действий Finish-Install

Как обрабатываются действия Finish-Install