Nsis 在64位系统中写入注册表值

Nsis 在64位系统中写入注册表值,nsis,Nsis,我在NSIS中建立了一个应用程序设置。该集合需要在以下位置创建密钥,才能启动我的应用程序:- HKEY\ U本地\计算机\软件\\\\“版本号”0 HKEY\U LOCAL\U MACHINE\Software\WOW6432节点\\“版本号”11 在脚本中,我使用了:- WriteRegDWORD HKLM "SOFTWARE\<Key1>\<Key2>\<Key3>" "VersionNo" 0 WriteRegStr HKLM "

我在NSIS中建立了一个应用程序设置。该集合需要在以下位置创建密钥,才能启动我的应用程序:- HKEY\ U本地\计算机\软件\\\\“版本号”0 HKEY\U LOCAL\U MACHINE\Software\WOW6432节点\\“版本号”11

在脚本中,我使用了:-

      WriteRegDWORD HKLM "SOFTWARE\<Key1>\<Key2>\<Key3>" "VersionNo" 0
      WriteRegStr HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" "11"
writeregword HKLM“软件\\\\”版本号“0
WriteRegStr HKLM“软件\\”版本号“11”
此密钥已在32位Windows 7系统上成功创建。但是,当我在64位Windows 7系统上安装安装程序时,不会在上述位置创建密钥。而是在以下位置创建密钥:-

      HKEY_LOCAL_MACHINE\Software\Wow6432Node\<Key1>\<Key2>\<Key3>" "VersionNo" 0
      HKEY_LOCAL_MACHINE\Software\Wow6432Node\<Key1>\<Key2>" "VersionNo" "11"
HKEY\U LOCAL\U MACHINE\Software\Wow6432Node\\\\“版本号”0
HKEY\U LOCAL\U MACHINE\Software\WOW6432节点\\“版本号”11
这导致我的应用程序在安装后无法启动

--是否有人建议NSIS使用命令/脚本,强制在HKEY_LOCAL_MACHINE\Software\下为64位系统创建密钥,而不是在HKEY_LOCAL_MACHINE\Software\Wow6432Node下创建密钥

急切地等待解决方案……

用于在32位和64位注册表之间切换。您的代码应该如下所示:

SetRegView 64
WriteRegDWORD HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" 0
SetRegView 32
WriteRegStr HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" "11"
SetRegView 64
WriteRegWord HKLM“软件\\”“版本号”0
SetRegView 32
WriteRegStr HKLM“软件\\”版本号“11”