以管理员身份安装时写入 HKLM,否则在 Inno Setup 中写入 HKCU

Write HKLM when installed as Administrator, but HKCU otherwise, in Inno Setup

我已经创建了 Inno Setup 安装程序并且运行良好。我只有一个问题想解决。并非我的所有用户都拥有管理员权限,因此我的应用已设置为允许非管理员安装。问题是,我已经为我的应用程序设置了文件关联,因此需要为此设置正确的注册表项。

因为我的用户不都是管理员,所以我不能只使用 HKEY_LOCAL_MACHINE (HKLM)。目前,我默认为 HKEY_CURRENT_USER (HKCU).

如果用户是管理员(选择 "install for all users" 选项),是否有条件地设置 HKLM 和如果用户选择安装到他们自己的配置文件的 HKCU 有条件地设置?

看来这可以解决问题:

HKA(在管理安装模式下等于 HKLM,否则 HKCU

正在测试。