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