在一个基于.NET的通用组件的上下文中,它可以在各种场景下托管 - 即不管是否为64位交互式进程,我都需要在注册表中写入受UAC虚拟化影响的区域。但是,我想阻止这种访问被虚拟化,以便每次执行都不受当前背景的变幻莫测的影响(即,不希望从HKLM读取一个读数,因为它有一个清单,另一个来自HKCU。 .VirtualStore,因为它没有)。以编程方式禁止注册表虚拟化
换句话说,我在寻找something analogous to KEY_WOW64_64KEY或reg.exe REG_KEY_DONT_VIRTUALIZE
来表明我不想在任何情况下进行虚拟化。或者是否有某种形式的规范化相关的语法,我可以使用它强制它你指定一个> 260 char文件名的方式吗?
如果执行用户对相关注册表项没有适当的权限,我很好,代码失败。
此问题与[注册表虚拟化](Detecting registry virtualization)上的这个问题有很大关系,但是在这种情况下检测肯定是不够的。
嗨凯特,谢谢你的回答。不幸的是,在这个问题中的[“在广义组件的范围内]]条件是为了表明这不在我的控制之内,因此我的问题。 – 2010-06-25 08:14:21
但是我敢打赌,你有很多我的其他开放深奥问题的答案,只是等待跳出 - 如果你的DNR eps是任何东西的话:D – 2010-06-25 08:23:39
哦,亲爱的,你可能不得不前往COM高程绰号领土。如果有的话,我不确定.NET的等价物是什么。 – 2010-06-25 11:09:13