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


Выполнение действий Finish-Install

Примечание

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

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

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

  • Для устройства, установленного во время установки Windows, при первом входе администратора в Windows после завершения установки Windows.

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

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

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

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

  • Пока устройство остается установленным, при следующем входе администратора в систему.

  • Если администратор нажимает Кнопку Проверить изменения оборудования в меню Действие диспетчер устройств или программа установки вызывает CM_Reenumerate_DevNode в контексте администратора.

Если устройство помечено для выполнения действия завершения установки, процесс завершения установки вызывает SetupDiCallClassInstaller для отправки запроса DIF_FINISHINSTALL_ACTION установщикам устройства.

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

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

ERROR_DI_DO_DEFAULT

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

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

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

NO_ERROR

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

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

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

Ошибка Microsoft Win32

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

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