【发布时间】:2014-07-16 03:43:53
【问题描述】:
我有一个将值写入注册表的程序。
我有一个 GUI 模式和一个命令行模式。程序在 GUI 模式下运行时完美写入 HKLM(x86 构建配置)
但是,当我在命令模式下运行我的程序时,值会写入 wow6432 节点下。我做了一些研究,发现 wow6432 节点用于存储在 64 位机器上运行的 32 位应用程序的注册表值。
我没想到在命令行模式下运行会从 64 位变为 32 位 - 但它似乎是。
不太清楚从这里去哪里,希望有人能指出我正确的方向。
【问题讨论】:
-
如果您的程序写入 HKLM(没有 WOW6432Node)并且您使用的是 64 位操作系统,那么您不是执行 x86构建您的应用程序。请仔细检查您的 GUI 应用程序的构建配置。
-
奇怪 - 它肯定设置为 x86。如果我将它设置为任何 CPU,那么它只会写入 wow6432
-
那更奇怪了,应该正好相反。 :-)
-
是的,不确定发生了什么 - 将我的构建配置添加到问题中
标签: vb.net registry 32bit-64bit wow64