论坛风格切换切换到宽版
  • 4222阅读
  • 3回复

INNOSETUP-在64位系统里写入32位系统下一样的注册表键值 [复制链接]

上一主题 下一主题
离线zhanghong1
 

发帖
8
金钱
80
威望
8
只看楼主 倒序阅读 0 发表于: 2013-11-02
INNO SETUP里比如:
Root: HKLM; SubKey: SOFTWARE\Classes\CLSID\{{D8900009-D809-D800-D809-100000000009}; ValueType: string; ValueName: TileInfo; ValueData: prop:System.ItemAuthors; Flags: noerror UninsDeleteKey; Languages: "default";

在32位系统下,会写入注册表键值:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D8900009-D809-D800-D809-100000000009}]
"TileInfo"="prop:System.ItemAuthors"

但是:在64位系统下会自动反射至:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\{D8900009-D809-D800-D809-100000000009}]
"TileInfo"="prop:System.ItemAuthors"

这不是我想要的结果,我依然希望有32位系统下的注册表写入效果,
我试着在INNO setup脚本里:
Root: HKLM32; SubKey: SOFTWARE\Classes\CLSID\{{D8900009-D809-D800-D809-100000000009}; ValueType: string; ValueName: TileInfo; ValueData: prop:System.ItemAuthors; Flags: noerror UninsDeleteKey; Languages: "default";

无效。
各位亲,有什么强制的办法在64位系统里写入32位系统下一样的注册表键值效果?:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D8900009-D809-D800-D809-100000000009}]
"TileInfo"="prop:System.ItemAuthors"



经过仔细检查,我绝对没有:ArchitecturesInstallIn64BitMode=x64  绝对没有~~~
天,我要怎么成功写入这个键值?
大牛,你在哪儿?

离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 1 发表于: 2013-11-06
Root: HKLM; SubKey: SOFTWARE\Classes\CLSID\{{D8900009-D809-D800-D809-100000000009}; ValueType: string; ValueName: TileInfo; ValueData: prop:System.ItemAuthors; Flags: noerror UninsDeleteKey; Languages: "default";
应该是对的。
离线zhanghong1

发帖
8
金钱
80
威望
8
只看该作者 2 发表于: 2013-11-19
回 1楼(gnatix) 的帖子
gnatix:Root: HKLM; SubKey: SOFTWARE\Classes\CLSID\{{D8900009-D809-D800-D809-100000000009}; ValueType: string; ValueName: TileInfo; ValueData: prop:System.ItemAuthors; Flags: noerror UninsDeleteKey; Languages: "default";应该是对的。 (2013-11-06 05:05) 

虎哥,感谢您的答复,同样的代码在32位系统下OK,但在64位系统被强制映射了路径~~~不知您能否帮忙如何让64位系统不强制~~~~我只想不管32还是64位系统,就真实地写入这个路径~~
离线zhanghong1

发帖
8
金钱
80
威望
8
只看该作者 3 发表于: 2013-12-21
回 1楼(gnatix) 的帖子
gnatix:Root: HKLM; SubKey: SOFTWARE\Classes\CLSID\{{D8900009-D809-D800-D809-100000000009}; ValueType: string; ValueName: TileInfo; ValueData: prop:System.ItemAuthors; Flags: noerror UninsDeleteKey; Languages: "default";应该是对的。 (2013-11-06 05:05) 

感谢,经过很多的测试,我发现我现在用的这个汉化版本有很多问题,我已重新下载安装了最新风铃汉化的5.5.4了~~~感觉顺多了~~关于这个问题我下周去公司找台机器再测试下……。或者真的只是我使用的汉化版本问题~~~