У меня есть установщик MSI, который регистрирует компонент ActiveX. Регистрационная информация записывается в HKEY_CURRENT_USER
улей, и все работает нормально и денди.
Однако для одного пользователя IE ведет себя так, как будто компонент не зарегистрирован. Я посмотрел в реестре и там регистрация есть в HKCU
. Однако он не отображается в HKCR
, что действительно странно, так как это должно быть объединенное представление HKCU\Software\Classes
и HKLM\Software\Classes
.
Я также заметил, что регистрация появляется в
HK_USERS\<sid>\Software\Classes\CLSID\
но не в
HK_USERS\<sid>_Classes\CLSID\
Единственный способ заставить его работать на нее - написать регистрационную информацию на
HK_USERS\<sid>_Classes\CLSID\<GUID>\
в этот момент все работает отлично.
Есть идеи, почему это так?
Я только что решил проблему с теми же симптомами. Проблема в этом случае заключалась в том, что HKEY_USERS \ [sid] \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Папки пользовательской оболочки ключ отсутствовал. Это помешало Windows найти куст классов для этого пользователя. Понятия не имею, как / почему пропал ключ.
Еще один признак этой проблемы - если вы посмотрите в HKEY_USERS, вы увидите, что отсутствует ключ HKEY_USERS \ [sid] _classes.
Чтобы исправить это, просто отремонтируйте недостающий ключ и перезагрузите компьютер. Вы можете скопировать хорошие значения из HKEY_USERS \ .DEFAULT \ Software \ Microsoft \ Windows \ CurrentVersion \ User Shell Folders.
Я полагаю, вы проверили какие-либо настройки безопасности Internet Explorer? Находится ли пользователь в специальной группе AD? Отключили надстройку в Internet Explorer?
Для «проблемных пользователей» я иногда экспортирую текстовые файлы из пользовательских ульев и различаю их с помощью обычных инструментов текстовых различий, чтобы определить различные настройки.
Я наконец-то нашел «ответ» на этот вопрос. По сути, похоже, что на некоторых пользовательских ПК нам приходилось перезагружать компьютер. Это обеспечит правильное слияние соответствующих ульев.
Нам нужно было сделать это только на некоторых пользовательских ПК - на других ульи были правильно синхронизированы.
Все ПК были с XP SP3 с той же сборкой. Похоже, не имело значения, были пользователи администраторами или нет.