NSIS 2.46 阅读注册表:“。”在子项中让 ReadRegStr 失败

NSIS 2.46 Reading registry: "." in subkey lets ReadRegStr fail

我在使用命令 ReadRegStr 时遇到问题,在子项中使用 2016.",如下所示:

ReadRegStr 
   $INSTDIR2016_5x64 
   "HKLM"
   "SOFTWARE\Autodesk\Maya16.5\Setup\InstallPath" "MAYA_INSTALL_LOCATION"

没有 . 也能正常工作,因此适用于 Maya 2016。;)

所以 . 似乎是问题所在。

有人知道吗? 谢谢!

NSIS 不解析注册表路径,它直接传递给 Windows 注册表函数:

Section
# Write example value
WriteRegStr HKCU "SOFTWARE\NSIS\Test\Maya16.5\Setup\InstallPath" "MAYA_INSTALL_LOCATION" "c:\foo\bar"
# Read it
ReadRegStr [=10=] HKCU "SOFTWARE\NSIS\Test\Maya16.5\Setup\InstallPath" "MAYA_INSTALL_LOCATION"
DetailPrint MAYA_INSTALL_LOCATION=[=10=]
# Clean up
DeleteRegKey HKCU "SOFTWARE\NSIS\Test"
SectionEnd

您可能遇到了 64 位与 32 位注册表问题或注册表问题 virtualization/redirection。下载 Process Monitor 以验证您正在访问正确的密钥...