问题描述
我有一个非常简单的Inno Setup脚本,其中包含以下[Registry]
部分:
I have a very simple Inno Setup script containing this [Registry]
section:
[Registry]
Root: HKLM; Subkey: SOFTWARE; Flags: createvalueifdoesntexist; ValueType: string; ValueName: ABC; ValueData: abc
但是,当我检查HKLM\SOFTWARE
子项时,没有添加任何值.
However, when I check the HKLM\SOFTWARE
subkey, there is no value added.
我在HKLM\SOFTWARE
和Pascal脚本下尝试了不同的子项,但是Inno Setup只是拒绝创建新的子项或值.
I tried different subkeys under the HKLM\SOFTWARE
and Pascal scripting, but Inno Setup simply refuses to create a new subkey or value.
我正在运行64位Windows 7,UAC已关闭.
I am running a 64bit Windows 7, the UAC is turned off.
推荐答案
最终解决了它.
Inno Setup在64位计算机上以32位运行,因此HKLM对应于HKLM \ Wow6432Node.
Inno Setup was running as 32bit on a 64bit machine, hence HKLM correspond to HKLM\Wow6432Node.
在这种情况下,我需要添加对IsWin64的检查并使用HKLM64.
I need to add check for IsWin64 and use HKLM64 in that case.
这篇关于Inno Setup似乎没有写入64位计算机上的注册表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!