将HKLM / HKCU分配给变量以进行不同类型的安装

时间:2018-08-17 21:52:35

标签: nsis

我正在编写一个脚本来关联文件关联,我想知道是否可以根据管理员安装或用户安装将变量分配给HKLM或HKCU。当用户为用户安装而不是管理员安装附加-user时,我正在处理的项目将在运行时确定这一点。我在想类似的东西:

Var location
${If} $InstallMode == "Admin"
    $location = HKLM ;probably not the right way to assign
${Else}
    $location = HKCU
${EndIf}

我是NSIS的新手,到目前为止,我已经阅读和尝试过,我可以通过编写!define将变量HKLM设为HKCU!define location HKCU但在运行时定义将无法使用。

1 个答案:

答案 0 :(得分:1)

为此存在

SHCTX。由SetShellVarContext控制。默认值为用户(HKCU),All设置为HKLM