当前位置:  开发笔记 > 后端 > 正文

在x64系统中从NSIS安装程序安装驱动程序

如何解决《在x64系统中从NSIS安装程序安装驱动程序》经验,为你挑选了1个好方法。

我想向我的NSIS安装程序添加对x64操作系统的支持.安装程序的任务之一是驱动程序安装.我为此任务编写了一个特殊的NSIS插件.此插件使用 Driver Install Frameworks API(DIFxAPI)来安装驱动程序.

问题是这个API在WOW64中不起作用.

有没有办法用NSIS创建x64安装程序?有人解决过与NSIS类似的问题吗?

PS:我现在能看到的唯一解决方案是从安装程序运行另一个应用程序.这将是安装驱动程序的x64可执行文件.但这种方式对我来说似乎有点困难.所以,我对其他解决方案很感兴趣.



1> Russell Gall..:

我遇到了类似的问题,我认为目前唯一的解决方案是通过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.exemyApp/drivers/dpinst64.exe

    复制C:\WinDDK\7600.16385.1\redist\DIFx/dpinst/EngMui/x86/dpinst.exemyApp/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}

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有