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


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

Примечание

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

Установщики (установщик класса, со-установщик класса или со-установщик устройства) предоставляют действия завершения установки. При завершении установки можно запустить исполняемую программу, создать процесс, создать поток или выполнить код в процессе завершения установки и установки драйвера устройства.

Чтобы реализовать действия завершения установки, установщик:

  1. Задает флаг DI_FLAGSEX_FINISHINSTALL_ACTION, когда установщик обрабатывает код DIF DIF_NEWDEVICEWIZARD_FINISHINSTALL и возвращает один из следующих кодов ошибок:

    • ERROR_DI_DO_DEFAULT, если это установщик класса без страниц мастера завершения установки.
    • NO_ERROR, если это установщик класса со страницами мастера завершения установки или совместный установщик со страницами мастера завершения установки или без него.
  2. Выполняет действия завершения установки при обработке запроса DIF_FINISHINSTALL_ACTION .

    Установщик возвращает один из кодов ошибок, приведенных в следующей таблице.

    Код ошибки Значение

    ERROR_DI_DO_DEFAULT

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

    Совместный установщик устройства или класса. Совместные установщики не возвращают этот код ошибки.

    NO_ERROR

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

    Совместный установщик устройства или класса. Совместный установщик либо успешно выполняет свои действия завершения и установки, либо не имеет действий по завершению установки.

    Ошибка Microsoft Win32

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

Примечание Если действие завершения установки завершается сбоем и его не следует пытаться повторить, установщик класса возвращает ERROR_DI_DO_DEFAULT, а устройство или со-установщик класса возвращает NO_ERROR.

Сведения о разработке действий завершения и установки см. в разделе Рекомендации по реализации действий Finish-Install Пример кода, в который показано, как реализовать действия завершения и установки, см. в следующих разделах:

Пример кода: действия Finish-Install в установщике классов

Пример кода: действия Finish-Install в совместном установщике