明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 967|回复: 5

[提问] 求助64位Win7,vl-registry-read无法读取注册表信息

[复制链接]
发表于 2021-3-13 21:53:55 | 显示全部楼层 |阅读模式
本帖最后由 itoboy 于 2021-3-13 23:10 编辑

引用秋枫大哥AutoCAD二次开发安装程序制作(2019-11-11)http://bbs.mjtd.com/thread-35156-1-1.html,生成的安装包无法读取注册表信息,电脑系统64位Win7,CAD2007(32位),vl-registry-read返回nil,相关代码如下:
(defun GetMyApplicationPath ()
  (vl-registry-read
    (strcat
      "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"
      "MemMas_is1"
    )
    "Inno Setup: App Path"
  )
)
但我在注册表里是可以找到相关信息的,如下图



如果使用秋枫大哥老版的制作程序生成的安装包,采用相同的代码是可以读取注册表信息的。
请问该怎么解决啊?求大神帮帮忙!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2021-3-13 23:09:41 | 显示全部楼层
网上找到一段话:
CAD里面如何使用lsp读取注册表了,现在电脑系统有分32位和64位,根据不同软件的安装,注册表也不一样,32位系统只有一个32位的注册表,也意味着只支持32位软件,不支持64位软件。但是64位系统是支持32位软件的,所有说64位系统有两个注册表,如果安装包是64位软件,那直接写入默认的注册表里面,和32位系统一样。但是64位系统安装32位软件,注册表是写在32位注册表里面的。
32位系统32位软件统默认注册表路径:HKEY_LOCAL_MACHINE\\SOFTWARE
64位系统64位软件统默认注册表路径:HKEY_LOCAL_MACHINE\\SOFTWARE
64位系统32位软件统默认注册表路径:HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node
---------------------
《伙计百科》版权所有。
源地址:http://huojibk.com/2020/05/374.html
版权声明:转载请附上博文链接!

不知道是不是和这个有关,CAD2007是32位的,在64位系统里注册表路径本来应该在:HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node,但秋枫大哥的程序把注册表路径写在了:HKEY_LOCAL_MACHINE\\SOFTWARE,导致注册表信息无法读取。

然后我在64位系统里装了个64位的CAD2018,采用楼上的代码能够得到:"C:\\Program Files (x86)\\MemMas V2.1"
发表于 2021-3-14 08:37:46 | 显示全部楼层
应该是这个道理
发表于 2021-3-14 08:42:44 | 显示全部楼层
你们研究得很通透呀。
发表于 2021-5-17 19:46:13 | 显示全部楼层
楼主,我也是这种情况,想问下最后怎么解决的?秋枫大侠的安装包制作工具就不能用于64位系统了?
发表于 2023-1-5 13:05:39 | 显示全部楼层
楼主,我也是这种情况,想问下最后怎么解决的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-16 06:39 , Processed in 0.181602 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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