无忧启动论坛
标题:
64位系统下注册表定位的问题
[打印本页]
作者:
ones
时间:
2012-3-28 10:13
标题:
64位系统下注册表定位的问题
我要做一个自解压文件,用winrar做也好,用7zip做也行,自解压后执行一个批处理,批处理里添加一个注册表项。
如下命令:
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools" /v InstallPath /t REG_SZ /d "%cd%\\" /f
或者
%windir%\system32\reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools" /v InstallPath /t REG_SZ /d "%cd%\\" /f
可是添加的注册表项总是被定位到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\下面,如果不做自解压,直接执行批处理,那没有问题,但是做成自解压后,解压后自动执行批处理,就会被重定向了。
各位有什么高招?难道非要弄个注册表文件用来导入才行?
作者:
fujianabc
时间:
2012-3-28 15:30
你的自解压文件是32位的exe吧。
32位exe默认只能调用32位的reg.exe,也就是windows\syswow64中的reg.exe。32位注册表操作会自动被wow64定位到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\
要强制用32位程序调用64位windows\system32中的reg.exe程序,请用路径windows\sysnative,可以参考
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=174414
[
本帖最后由 fujianabc 于 2012-3-28 15:33 编辑
]
作者:
ones
时间:
2012-3-28 21:14
标题:
回复 #2 fujianabc 的帖子
谢谢提醒,不过我自己制作的64位精简版2003 sp2,使用windows\sysnative,提示找不到路径
Win2003x64-2012-03-28-21-16-36.png
(44.29 KB, 下载次数: 43)
下载附件
2012-3-28 21:14 上传
作者:
fujianabc
时间:
2012-3-29 02:44
http://msdn.microsoft.com/en-us/library/aa384187
(v=vs.85).aspx
sysnative是vista开始才有的,64位nt 5.x不支持。
实在不行,你在压缩包内包含一个64位的reg.exe吧,先判断系统是否64位(比如用syswow64文件夹存在与否来判断),是的话就用压缩包内的reg.exe。否的话调用系统的reg.exe
[
本帖最后由 fujianabc 于 2012-3-29 02:47 编辑
]
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3