HKEY_CLASSES_ROOT 不包含 HKEY_CURRENT_USER 的内容

HKEY_CLASSES_ROOT 不包含 HKEY_CURRENT_USER 的内容

我有一个 MSI 安装程序,用于注册 ActiveX 组件。注册信息已写入HKEY_CURRENT_USER配置单元,一切运行正常。

但是,对于一个用户来说,IE 的行为就像该组件未注册一样。我查看了注册表,发现注册信息在 中HKCU。但是,它没有出现在 中,这确实很奇怪,因为这应该是和HKCR的合并视图。HKCU\Software\ClassesHKLM\Software\Classes

我还注意到注册信息出现在

HK_USERS\<sid>\Software\Classes\CLSID\

但不是在

HK_USERS\<sid>_Classes\CLSID\

我能让她工作的唯一方法是将注册信息写入

HK_USERS\<sid>_Classes\CLSID\<GUID>\

此时一切都运行正常。

知道这是为什么吗?

答案1

我刚刚解决了一个症状完全相同的问题。本例中的问题是HKEY_USERS\[sid]\Software\Microsoft\Windows\CurrentVersion\Explorer\用户 Shell 文件夹密钥丢失。这导致 Windows 无法找到该用户的类配置单元。我不知道密钥是如何/为何丢失的。

该问题的另一个症状是,如果您查看 HKEY_USERS,您将发现缺少键 HKEY_USERS\[sid]_classes。

要修复此问题,只需修复丢失的密钥并重新启动计算机。您可以从 HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\User Shell Folders 复制正确的值。

答案2

我假设您已经检查过 Internet Explorer 安全设置?用户是否属于特殊 AD 组?Internet Explorer 中的插件已禁用?

对于“问题用户”,我有时会从用户配置单元导出文本文件,并使用常规文本差异工具进行差异分析,以发现不同的设置。

答案3

我终于找到了这个问题的“答案”。基本上,似乎在某些用户的 PC 上,我们必须重新启动 PC。这样才能确保相关配置单元正确合并。

我们只需要在某些用户电脑上执行此操作 - 其他电脑上的蜂巢都可以正确同步。

所有 PC 都运行的是 XP SP3,并应用了相同的版本。用户是否是管理员似乎没有区别。

相关内容