在Inno Setup中写入32/64位特定注册表项

问题描述:

我想在安装程序时,安装程​​序将在以下位置创建注册表:SOFTWARE\Wow6432Node\Publisher\App{app}在64位系统上的主要位置。我想在“32位”位置做32位相同的操作,但我不知道它在哪里。该设置将检查Windows的版本并根据系统创建注册表。在Inno Setup中写入32/64位特定注册表项

enter image description here

+0

我知道32位没有这个密钥。但我想为它做同样的事情。像Windows 64位具有SOFTWARE \ Wow6432Node \ Publisher \ App到系统32位我想在“32位”位置创建,但我不知道它在哪里。 –

+0

对于64位是SOFTWARE \ Wow6432Node \,对于32位是SOFTWARE \ right? –

+0

所以我可以使用这个代码:Root:HKLM;子项:“Software \ My Company \ My Program \ Settings”; ValueType:string; ValueName:“InstallPath”; ValueData:“{app}”和安装程序会自动检测Windows 32/64的版本并根据系统权限创建路径? –

你要写信至:

  • 在64位系统:SOFTWARE\Wow6432Node

  • 在32位系统:SOFTWARE

对于,你不需要做任何特别的事情。 Windows registry redirector处理。对于运行在64位系统上的32位应用程序,它会自动将SOFTWARE重定向到SOFTWARE\Wow6432Node。 Inno Setup安装程序是32位应用程序。

因此,像下面这样简单的[Registry]节条目会做,你想要什么。无需任何32位或64位特定代码:

[Registry] 
Root: HKLM; Subkey: "SOFTWARE\My Company\My Program\Settings"; ... 

当然,除非你使用64-bit installation mode


另请参阅Writing 32/64-bit specific registry key at the end of the installation in Inno Setup

+0

好的。现在我明白了。谢谢你的回答。 –