在MSI安装过程中避免出现多个UAC提示

时间:2019-06-04 09:21:41

标签: wix installer uac

我们有一个使用wix安装程序创建的msi安装程序。此安装程序还包括某些需要安装的设备驱动程序。我们通过自定义操作安装设备驱动程序。此自定义操作将执行一个包含实用程序dpinst64的.bat文件,以安装驱动程序包。我在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 个答案:

答案 0 :(得分:2)

批处理文件被认为有害 :对于MSI部署,必须不惜一切代价避免批处理文件。它们笨拙,过时且几乎没有错误处理,并且通常没有回滚功能。

WiX驱动程序元素 :建议您尝试改用WiX Driver Element。据我所知,它在后台使用了DIFx框架。 A small, practical example found on github.com

上一个答案 Maybe see this previous answer有关 difx:Driver 结构的更多信息:

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

链接