我在NSIS中构建了一个应用程序安装程序。该集合需要在以下位置创建密钥才能启动应用程序:- HKEY_LOCAL_MACHINE\Software\\“"VersionNo”0 HKEY_LOCAL_MACHINE\Software\Wow6432Node\“"VersionNo”"11“
在脚本中,我使用了:-
WriteRegDWORD HKLM "SOFTWARE\<Key1>\<Key2>\<Key3>" "VersionNo" 0
WriteRegStr HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" "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"这会导致我的应用程序在安装后无法启动。
--有没有人可以建议命令/脚本让NSIS在64位系统下强制创建HKEY_LOCAL_MACHINE\Software\下的密钥,而不是在HKEY_LOCAL_MACHINE\Software\Wow6432Node下创建密钥?
急切地等待着解决方案……
发布于 2012-06-22 12:45:23
使用SetRegView在32位和64位注册表之间切换。您的代码应该如下所示:
SetRegView 64
WriteRegDWORD HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" 0
SetRegView 32
WriteRegStr HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" "11"https://stackoverflow.com/questions/11150238
复制相似问题