无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3851|回复: 3
打印 上一主题 下一主题

64位系统下注册表定位的问题

[复制链接]
跳转到指定楼层
1#
发表于 2012-3-28 10:13:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我要做一个自解压文件,用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\下面,如果不做自解压,直接执行批处理,那没有问题,但是做成自解压后,解压后自动执行批处理,就会被重定向了。

各位有什么高招?难道非要弄个注册表文件用来导入才行?
2#
发表于 2012-3-28 15:30:48 | 只看该作者
你的自解压文件是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 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2012-3-28 21:14:14 | 只看该作者

回复 #2 fujianabc 的帖子

谢谢提醒,不过我自己制作的64位精简版2003 sp2,使用windows\sysnative,提示找不到路径
回复

使用道具 举报

4#
发表于 2012-3-29 02:44:34 | 只看该作者
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 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-20 16:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表