我想向我的NSIS安装程序添加对x64操作系统的支持.安装程序的任务之一是驱动程序安装.我为此任务编写了一个特殊的NSIS插件.此插件使用 Driver Install Frameworks API(DIFxAPI)来安装驱动程序.
问题是这个API在WOW64中不起作用.
有没有办法用NSIS创建x64安装程序?有人解决过与NSIS类似的问题吗?
PS:我现在能看到的唯一解决方案是从安装程序运行另一个应用程序.这将是安装驱动程序的x64可执行文件.但这种方式对我来说似乎有点困难.所以,我对其他解决方案很感兴趣.
我遇到了类似的问题,我认为目前唯一的解决方案是通过CreateProcess运行其他东西(64位).
这个doc似乎有一个使用DPInst(http://www.microsoft.com/whdc/driver/install/32-64bit_install.mspx)的解决方案,虽然我还没有尝试过.
将添加我发现的任何其他内容.
附加:现在让它工作,归结为
下载Windows驱动程序工具包版本7.1.0
挂载ISO并安装完整开发环境 - >工具 C:\
复制C:\WinDDK\7600.16385.1\redist\DIFx/dpinst/EngMui/amd64/dpinst.exe
到myApp/drivers/dpinst64.exe
复制C:\WinDDK\7600.16385.1\redist\DIFx/dpinst/EngMui/x86/dpinst.exe
到myApp/drivers/dpinst32.exe
将您的驱动程序包(inf文件等)复制到 myApp/drivers
myApp.nsi
添加到顶部!include "x64.nsh"
在安装部分的某处myApp.nsi
添加:
${If} ${RunningX64} ExecWait '"$INSTDIR\drivers\dpinst64.exe" /c /q /sa /sw /PATH "$INSTDIR\drivers"' ${Else} ExecWait '"$INSTDIR\drivers\dpinst32.exe" /c /q /sa /sw /PATH "$INSTDIR\drivers"' ${EndIf}