2010-06-22 57 views
0

我尝试在Windows 7 64位系统环境中安装驱动程序,通过使用CMD和NSIS安装程序从脚本在Windows Vista上从NSIS安装INF(驱动器)或更大

从CMD我比如做制作:

InfDefaultInstall C:\kit\driver\win7-64\my_driver.inf 

从NSIS怎么办?(这是从脚本行):

Exec 'InfDefaultInstall $INSTDIR\driver\win7-64\my_driver.inf' 

INF文件应该在Windows \ System32下复制一个.sys文件\ drivers文件夹,并写一些东西注册表

的问题是,它发生在cmd中,它不会如使用NSIS安装(我的意思是它看起来像它这样做,但.sys文件不会去的地方应该去)

发生

此外,在卸载我从NSIS脚本做:

Delete '$WINDIR\system32\drivers\my_driver.sys' 

这个命令不会删除sys文件(其中又以它应该,因为我跑的安装后,CMD命令行的)

= =

所有测试完成使用管理员帐户,禁用UAC运行,也尝试过右单击运行作为安装程序管理员,但它只是不会复制

==

我想这在Windows XP上

Exec 'rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 $INSTDIR\driver\win7-64\my_driver.inf' 

和完美的作品(从CMD和NSIS脚本)

也试过Win7上这个命令我得到了相同的工作不结果。 也试过它在Vista x86上,所以我不认为这是一个体系结构问题,但像权限,或与UAC有关(虽然UAC未启用)

回答

1

我怀疑这对你的情况很重要,但你应该被引用的路径:Exec 'InfDefaultInstall "$INSTDIR\driver\win7-64\my_driver.inf"'

您应该包括x64.nsh文件,就调用DisableX64FSRedirection宏(你可能也想用$ SYSDIR而不是$ WINDIR \ system32)下

为InfDefaultInstall命令去,也许当前/工作目录很重要,你可以使用SetOutPath将其设置为nsis

+0

如果我尝试引用,我收到一条错误消息,说不能安装驱动程序与确定按钮(cmd和nsis太) – 2010-06-22 18:50:00

+0

嗯,我认为$ INSTDIR可以由用户更改,所以除非InfDefaultInstall有特殊的命令行处理,你可能遇到空间 – Anders 2010-06-22 18:58:07

+0

我认为问题是因为我没有使用DisableX64FSRedirection宏..因为它现在工作 – 2010-06-25 08:21:16