DIFx: MsiProcessDrivers, WdfPostDeviceRemove и планирование

#wix #windows-installer #driver

#wix #windows-установщик #драйвер

Вопрос:

Я пишу установщик для драйвера WDF и обнаруживаю, что MsiProcessDrivers запускается после удаления файлов. Проблема в том, что, согласно документации, мне нужно запустить WdfPostDeviceRemove() после удаления службы, что требует WdfCoInstaller01009.dll чтобы быть загруженным. Поскольку это уже было удалено, мое пользовательское действие завершается с ошибкой. Должен ли я планировать MsiProcessDrivers ранее в последовательности InstallExecute, или люди просто избегают DIFx и используют DPInst и т. Д. для драйверов?

Ответ №1:

Ваша основная проблема заключается в том, что ваш драйвер зависит от файла, установленного пакетом.

Рекомендуемый подход заключается в том, чтобы сделать зависимость DLL временным файлом. Вот статья с более подробной информацией: http://setupanddeployment.com/installation-environment/temporary-files

В принципе, DLL может храниться в двоичной таблице и извлекаться во время установки или удаления.