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

Nsis 将HKLM/HKCU分配给不同安装类型的变量,nsis,Nsis,我正在编写一个脚本来关联文件关联,我想知道是否可以根据是管理员还是用户安装为HKLM或HKCU分配一个变量。我正在处理的项目在运行时确定这一点,当用户为用户安装而不是管理员安装附加-user时。我在想这样的事情: Var location ${If} $InstallMode == "Admin" $location = HKLM ;probably not the right way to assign ${Else} $location = HKCU ${EndIf} 我是

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

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

我是NSIS的新手,从我迄今为止的阅读和尝试来看,我可以!通过写入将变量定义为HKLM或HKCU!定义位置HKCU,但定义在运行时不起作用。

为此目的存在SHCTX。它由SetShellVarContext控制。默认值是用户HKCU,为HKLM设置为All。

注册表根不能是变量。