以编程方式禁止注册表虚拟化

时间:2009-08-24 13:27:57

标签: .net uac manifest registry registry-virtualization

在一个基于.NET的通用组件的上下文中,它可以托管在各种场景中 - 即64位或不是,交互过程与否,我需要写入注册表中的一个区域UAC虚拟化。但是,我想阻止这种访问被虚拟化,以便每次执行都不受当前上下文的变幻莫测(即,不希望从HKLM读取一个,因为它有一个清单而另一个来自HKCU。 .VirtualStore因为它没有)。

换句话说,我正在寻找something analogous to KEY_WOW64_64KEYreg.exe REG_KEY_DONT_VIRTUALIZE来表明我不想在任何情况下进行虚拟化。或者是否有某种形式的规范化相关语法我可以使用它来指定> 260 char文件名?

如果执行的用户对相关的注册表项没有适当的权限,我的代码就会失败。

这个问题与[关于检测注册表虚拟化]的问题(Detecting registry virtualization)密切相关,但在这种情况下检测肯定是不够的。

1 个答案:

答案 0 :(得分:0)