有什么理由不使用 KEY_WOW64_64KEY 吗?

Is there any reason to not use KEY_WOW64_64KEY?

根据 Microsoft KEY_WOW64_64KEY 和 KEY_WOW64_32KEY 分别强制应用程序在 64 位或 32 位注册表上运行。总是使用 KEY_WOW64_64KEY 有什么风险吗?如果将来我将我的 32 位应用程序转换为 64 位应用程序,我可以依赖在用户安装更新时位于同一位置的注册表项。

我什么时候应该改用 32 位注册表?我想如果我想支持并排安装应用程序的 32 位和 64 位版本,但通常你不会想要那样。

选择这个选项主要有两个原因:

第一个是如果您将应用程序从 x86 升级到 x64;如果您没有在选项中明确传递注册表(较旧的应用程序通常不会),您的 x64 版本将无法检索由 x86 版本设置的任何注册表项。

第二个用于从系统注册表项中读取信息。有时 OS 信息不会被 winapi 公开,只存在于一个注册表或另一个注册表中。

如果您正在编写一个新的应用程序,这不是问题;您可以明确地使用一个或另一个注册表而不必担心。