Installation NSIS和HKLM,字符串的使用

Installation NSIS和HKLM,字符串的使用,installation,windows-installer,nsis,Installation,Windows Installer,Nsis,我使用向导创建了NSIS安装程序,然后查看了代码: 它将名为PRODUCT_UNINST_ROOT_KEY的变量定义为“HKLM”: 然后像这样使用它: WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" 我想知道${PRODUCT\u UNINST\u ROOT\u KEY}是:HKLM还是“HKLM”,如果文件夹名称不同,它是否仍然引用该目录(我的称为“HKEY\u

我使用向导创建了NSIS安装程序,然后查看了代码: 它将名为PRODUCT_UNINST_ROOT_KEY的变量定义为“HKLM”:

然后像这样使用它:

WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
我想知道${PRODUCT\u UNINST\u ROOT\u KEY}是:HKLM还是“HKLM”,如果文件夹名称不同,它是否仍然引用该目录(我的称为“HKEY\u LOCAL\u MACHINE”)


谢谢

HKLMHKEY_本地_机器(它是一个非常常见的别名),HKCU是HKEY_当前用户等

!定义产品\u UNINST\u ROOT\u键“HKLM”
相同!定义产品\u UNINST\u ROOT\u密钥HKLM

但是,只有在字符串包含空格时才需要引号。

HKLMHKEY_LOCAL_机器(这是一个非常常见的别名),HKCU是HKEY_当前用户等

!定义产品\u UNINST\u ROOT\u键“HKLM”
相同!定义产品\u UNINST\u ROOT\u密钥HKLM

但是,如果字符串包含空格,则实际上只需要引号。

您是否运行了代码以查看这行写入注册表的内容?@CharlesB您的意思是什么?我真的不想弄乱这一点,因为我对注册表一无所知,NSIS页面上的一个教程说,如果它向注册表写入错误的内容,它可能会删除很多内容。那么,如果不测试代码,你什么时候知道代码工作?如果不想弄乱系统,请使用虚拟机。注册表并没有那么复杂,它只是一棵树,您可以在其中写入(键、值)。您是否运行代码来查看这一行写入注册表的内容?@CharlesB您的意思是什么?我真的不想弄乱这一点,因为我对注册表一无所知,NSIS页面上的一个教程说,如果它向注册表写入错误的内容,它可能会删除很多内容。那么,如果不测试代码,你什么时候知道代码工作?如果不想弄乱系统,请使用虚拟机。注册表并没有那么复杂,它只是一棵树,您可以在其中编写(键、值)。非常感谢!我在任何地方都找不到这个谢谢!我到处都找不到这个
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"