Inno安装程序忽略了注册表重定向?

时间:2017-08-08 13:31:44

标签: windows registry 64-bit inno-setup

我在64位Windows 7系统上运行设置。脚本(我已经“继承”并维护这些日子)​​[Setup]部分不包含ArchitecturesInstallIn64BitMode指令。

根据docs

  • [注册表]默认写入32位视图。
  • Uninstall密钥是在注册表的32位视图中创建的。

这是我的[Registry]部分:

[Registry]
Root: HKCU; Subkey: "Software\{code:GetRegistryName}"; Flags: deletekey
Root: HKCU; Subkey: "Software\{code:GetRegistryName}"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\{code:GetRegistryName}"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"; Flags: uninsdeletekey
Root: HKCU; Subkey: "Software\{code:GetRegistryName}"; ValueType: string; ValueName: "CurrentVersion"; ValueData: "{code:GetVersion}"; Flags: uninsdeletekey

...但是,所有的密钥都落在了注册表的64位部分 - 也就是说,Wow6432Node没有任何内容,正如我所期望的那样。这是我的注册表视图(有一些轻量级编辑):

enter image description here

enter image description here

我的问题似乎与我在Stackoverflow上找到的每一个问题相反,其中一个人抱怨“丢失密钥”,实际上是在Wow6432Node下。

1 个答案:

答案 0 :(得分:4)

WOW64注册表重定向主要适用于HKLM和HKCR下的密钥。仅重定向/反映HKCU \ Software \ Classes下的COM相关键。有关详细信息,请参阅MSDN:Registry Keys Affected by WOW64