Windowsregistryredirect是一个“坏事”?

我有我自己的安装程序,我用它来安装我写的几个应用程序。

我一直在更新这个程序,以避免应用程序的数据文件更新到用户的VirtualStore,因为我读这是一个“坏事”。 我这样做是通过将程序和常用数据文件分别存储在正确的位置,而不是像XP中那样将所有内容都保存在程序文件中。

我现在也在使用SHGetFolderPath(是的,它已被弃用,但我仍然需要支持我的XP用户),以获取已知的文件夹,而不是拖网registry,这是另一个“坏事”(我读)。

接下来我要做的是重写安装程序代码,避免在向HKLM写入内容时将registryredirect到Wow6432Node,因为我认为这是另一件“坏事”。

然而,虽然我可以把应用程序特定的东西(如安装文件夹,如果用户决定安装在默认以外),杀手是需要将卸载信息放在HKLM \ Software \ Microsoft \ Windows \ CURRENTVERSION \卸载。 对于在64位系统上运行的32位的东西,这被redirect到Wow6432Node。 我不觉得有什么办法 – 事实上是可能的吗?

Solutions Collecting From Web of "Windowsregistryredirect是一个“坏事”?"

UAC注册表重定向可以被合理地描述为“坏事”,因为它是专门为了提供与不正确编写的软件的兼容性而设计的,也就是说,软件假定它将以管理员权限运行。

WOW64注册表重定向是一个不同的野兽; 它旨在提供与正确编写的32位软件的兼容性。 如果你的软件是32位的,并且没有特别的需要64位感知,那么让它在模拟环境中运行是没有问题的,包括允许注册表设置被重定向到Wow6432Node。

如有必要,您可以绕过WOW64注册表重定向 ,但只有在有特定原因的情况下,您才应该这样做。 如果WOW64重定向令您担心,唯一不错的选择是提供64位版本的程序。