CustomAction DriverPackageInstall завершается с 0x80030005 - PullRequest
0 голосов
/ 15 октября 2018

У меня установка драйвера WDF с помощью установщика WiX через пользовательское действие с использованием API DriverPackageInstall.но его ошибка с ошибкой «0x80030005» STG_E_ACCESSDENIED.Я работаю как администратор (при условии отсутствия проблем с привилегиями) создал тестовое консольное приложение "c", которое может успешно установить драйвер.

<InstallExecuteSequence>
     <Custom Action='UninstallDriver'
             After='InstallInitialize'>
                    REMOVE~="ALL" OR REINSTALL</Custom>
 </InstallExecuteSequence>      
  <CustomAction Id='UninstallDriver'
                BinaryKey='install_lib'
                DllEntry='InstallDriver'
                Execute='deferred'
                Impersonate="no"
                Return='check'/>

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

MSI (s) (E8:50) [11:56:09:296]: Invoking remote custom action. DLL: C:\Windows\Installer\XXXXXX.tmp, Entrypoint: InstallMyDriver
CustomAction InstallMY.XXXXX_9XX_XXXX_XXXX_XXXXXXXX returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 11:56:10: InstallFinalize. Return value 3.
MSI (s) (E8:38) [11:56:10:144]: Note: 1: 2265 2:  3: -2147287035 
MSI (s) (E8:38) [11:56:10:144]: User policy value 'DisableRollback' is 0
MSI (s) (E8:38) [11:56:10:144]: Machine policy value 'DisableRollback' is 0

Проверенный INF-файл присутствует в ожидаемом месте ввода.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 15 октября 2018

Аналогичный ответ : Автоматическая установка WiX не может запуститься, встроенный .EXE: WiX v3


Элемент драйвера : Почему вы не используете встроенный в WiX difx: Элемент / конструкция драйвера ?Мне интересно, если у вас есть системный контекст / проблема олицетворения?Используя встроенный элемент драйвера, вы получаете больше « auto-magic » в том смысле, что вы можете избежать некоторых распространенных проблем, возникающих при выполнении действий «вручную».

Взрыв из прошлого : Вот предыдущий ответ, который кратко описывает этот элемент.К сожалению, я сам не смог проверить это должным образом: Как использовать WiX для развертывания драйвера USB на основе INF, а также все ярлыки меню «Пуск» и значки на рабочем столе

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

<Component>
   <File ... /> 
   <difx:Driver ... />
</Component>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...