Nsis脚本:从NSIS脚本中的注册表键值读取失败

时间:2015-09-02 09:29:23

标签: windows registry nsis

我正在创建具有多个依赖关系的安装程序,在我的exe安装成功后,它将重新安装。但是,从注册表中读取它什么都没有,但是注册表中仍然存在条目。 要调试此问题,我正在阅读我的注册表项,它显示正确的值。但是,当我再次运行时,我的exe文件却什么都没有。

“当我安装我的exe依赖项然后我的exe时,这个问题就出现了。当已经安装了依赖项时,这个问题就不会出现了。 请帮帮我

代码:

ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UninstallString" 
StrCmp $R0 "" init.install

每次$ R0值为“”,但存在相同的路径条目。帮我调试这个问题。

1 个答案:

答案 0 :(得分:2)

可能是因为NSIS从x64 OS上的wow6432node读取。 它默认从win32视图读取,因为NSIS安装程序是win32进程。 在这种情况下,可以在读取之前调用SetRegView 64。

http://nsis.sourceforge.net/Reference/SetRegView

相关问题