Избегание нескольких запросов UAC во время установки MSI - PullRequest
0 голосов
/ 04 июня 2019

У нас есть установщик MSI, который мы создали с помощью установщика wix. Этот установщик также включает в себя определенные драйверы устройств, которые необходимо установить. Мы устанавливаем драйверы устройств с помощью специальных действий. Это пользовательское действие выполняет файл .bat, который содержит утилиту dpinst64 для установки пакета драйвера. Я использовал следующую опцию с dpinst64

@if /I "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
  rem echo Installing driver from 64-bit installer on Windows 7
rem  dpinst64.exe /SW /S /PATH W7
  dpinst64.exe /q /se /PATH W7
) else if /I "%PROCESSOR_ARCHITECTURE%" == "X86" (
    rem echo Installing driver from 32-bit installer on Windows 7
    dpinst32.exe /q  /se /PATH W7
  )
)

Что происходит, когда пользователь дважды щелкает мышью по msi, пользователь получает приглашение ввести свои учетные данные. После этого установка продолжается ОК. Когда приходит время установить драйверы, пользователю снова предлагается ввести окно учетных данных. Я хотел бы знать, как я могу избежать этого снова. Я думал, так как я уже предоставил свои учетные данные, это должно остаться до конца сессии. Однако, похоже, это не тот случай.

1 Ответ

2 голосов
/ 04 июня 2019

Пакетные файлы считаются вредными : Пакетные файлы следует избегать любой ценой для развертывания MSI. Они неуклюжи, устарели и почти не обрабатывают ошибок и обычно не имеют отката.

Элемент драйвера WiX : Рекомендуем вместо этого использовать Элемент драйвера WiX . Он использует фреймворк DIFx под капотом - насколько я знаю. Небольшой практический пример, найденный на github.com .

Предыдущий ответ : Возможно, посмотрите этот предыдущий ответ , чтобы узнать больше о конструкции difx:Driver:

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

Ссылки

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