2009-09-25 90 views
0

我正在使用32位安装程序,它必须在Win XP以上的环境中运行。我们遇到了一个问题,我们必须在Windows 2k3 x64下删除注册表的x64部分上的注册表项。如何在不使用C++中的RegDeleteKeyEx的情况下删除64位树中Windows x64中的注册表项?

用RegDeleteKeyEx很容易,但我不能分发可能调用该函数的可执行文件,因为它不能在Windows XP上运行。我可以很轻松地得到关键的句柄,但我不明白我应该如何删除它。

我无法使用RegDeleteKey,因为注册表重定向会阻止我在x64平台上的工作。我很生气,我不能只传递一个句柄给我的键和一个空/空的子键字符串。我不敢相信这个API太破碎了。我错过了什么吗?

我现在唯一的想法是调出一个注册表文件或一个单独的可执行文件来为我完成这项工作,但这只是令人难以置信的丑陋,只会让更糟糕的解决方法变得更糟。有没有更好的办法?

回答

相关问题