在Inno Setup中写入32/64位特定注册表项
问题描述:
我想在安装程序时,安装程序将在以下位置创建注册表:SOFTWARE\Wow6432Node\Publisher\App
与{app}
在64位系统上的主要位置。我想在“32位”位置做32位相同的操作,但我不知道它在哪里。该设置将检查Windows的版本并根据系统创建注册表。在Inno Setup中写入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
好的。现在我明白了。谢谢你的回答。 –
我知道32位没有这个密钥。但我想为它做同样的事情。像Windows 64位具有SOFTWARE \ Wow6432Node \ Publisher \ App到系统32位我想在“32位”位置创建,但我不知道它在哪里。 –
对于64位是SOFTWARE \ Wow6432Node \,对于32位是SOFTWARE \ right? –
所以我可以使用这个代码:Root:HKLM;子项:“Software \ My Company \ My Program \ Settings”; ValueType:string; ValueName:“InstallPath”; ValueData:“{app}”和安装程序会自动检测Windows 32/64的版本并根据系统权限创建路径? –