首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在64位系统中写入注册表值

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

Stack Overflow用户
提问于 2012-06-22 12:35:52
回答 1查看 12.3K关注 0票数 9

我在NSIS中构建了一个应用程序安装程序。该集合需要在以下位置创建密钥才能启动应用程序:- HKEY_LOCAL_MACHINE\Software\\“"VersionNo”0 HKEY_LOCAL_MACHINE\Software\Wow6432Node\“"VersionNo”"11“

在脚本中,我使用了:-

代码语言:javascript
复制
      WriteRegDWORD HKLM "SOFTWARE\<Key1>\<Key2>\<Key3>" "VersionNo" 0
      WriteRegStr HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" "11"

此密钥已在32位Windows 7系统上成功创建。但是,当我在64位Windows 7系统上安装安装程序时,不会在上述位置创建密钥。相反,它在以下位置创建密钥:-

代码语言:javascript
复制
      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下创建密钥?

急切地等待着解决方案……

EN

回答 1

Stack Overflow用户

发布于 2012-06-22 12:45:23

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

代码语言:javascript
复制
SetRegView 64
WriteRegDWORD HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" 0
SetRegView 32
WriteRegStr HKLM "SOFTWARE\<Key1>\<Key2>" "VersionNo" "11"
票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11150238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档