[英]install inf (driver) from nsis on windows vista or greater
我尝试使用cmd和由脚本制作的nsis安装程序在Windows 7 x64环境中安装驱动程序
从cmd我做例如:
InfDefaultInstall C:\kit\driver\win7-64\my_driver.inf
从nsis我做(这是脚本中的行):
Exec 'InfDefaultInstall $INSTDIR\driver\win7-64\my_driver.inf'
inf文件应将Windows \\ system32 \\ drivers文件夹中的.sys文件复制并在注册表中写入一些内容
问题是,它发生在cmd中,并且如果使用nsis安装程序也不会发生(我是说它看起来像是在做,但是.sys文件没有放在应该去的位置)
另外,在卸载时我从nsis脚本执行:
Delete '$WINDIR\system32\drivers\my_driver.sys'
此命令不会删除sys文件(该文件应移至应有的位置,因为安装后我运行了cmd line命令)
==
使用管理员帐户运行的所有测试(禁用了UAC)也已尝试在安装程序上以admin身份右键单击运行,但不会复制它
==
我在Windows XP上尝试过
Exec 'rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 $INSTDIR\driver\win7-64\my_driver.inf'
并完美运行(来自cmd和nsis脚本)
也尝试在win7上使用此命令,但我却无法正常工作。 还可以在vista x86上进行尝试,因此我不认为这是体系结构问题,而是类似权限或与uac有关的问题(尽管未启用uac)
我怀疑这是否对您Exec 'InfDefaultInstall "$INSTDIR\\driver\\win7-64\\my_driver.inf"'
,但是您应该引用路径: Exec 'InfDefaultInstall "$INSTDIR\\driver\\win7-64\\my_driver.inf"'
等
您应该包括x64.nsh文件并调用DisableX64FSRedirection宏(您可能还想使用$ sysdir而不是$ WINDIR \\ system32)
就InfDefaultInstall命令而言,也许当前目录/工作目录很重要,您可以使用SetOutPath在nsis中对其进行设置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.