简体   繁体   中英

Inno Setup ignoring Registry Redirection?

I am running a setup on a 64-bit Windows 7 system. The script's (one that I've "inherited" and maintain these days) [Setup] section does not contain the ArchitecturesInstallIn64BitMode directive.

Per the docs :

  • [Registry] writes to the 32-bit view by default.
  • The Uninstall key is created in the 32-bit view of the registry.

This is my [Registry] section:

[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

...and yet, all of the keys land in the 64-bit part of the Registry - that is, nothing goes under Wow6432Node , as I would expect. Here is my Registry view (with some light editing):

在此处输入图片说明

and:

在此处输入图片说明

My issue here seems to be the opposite of every other one I've found on Stackoverflow, where one complains about "missing keys", that were in fact under Wow6432Node .

WOW64 registry redirection mostly applies to keys under HKLM and HKCR. Only COM related keys under HKCU\\Software\\Classes are redirected/reflected. See MSDN for details: Registry Keys Affected by WOW64 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM