Сначала посмотрите это MSDN сообщение, которое звучит так, как вы испытываете.
Это может произойти, когда VerCache
ключ реестра, возможно, не обновился
во время обновления контроля. За
пример,
[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Ext \ Settings {D7D5ACA4-
4C57-4C75-8D68-BC185E924B4C}]
«VerCache» Это происходит, если старый и
новые версии управления имеют
та же «Созданная» дата и время,
«Измененная» отметка даты и времени
размер файла.
Если этот раздел реестра не существует,
вам, возможно, придется использовать Sysinternals
Инструмент «Монитор процессов» для регистрации репродукций
проблема, затем поискать в журнале
правильное значение реестра, которое
проверяется Скорее всего, под
\ Ext \ Settings {} ... но
независимо от того, убедитесь, что хотя бы один
из этих параметров - дата создания
отметка времени, «измененная» отметка времени даты
или размер файла, на обновленном
контроль отличается от старого
версия элемента управления.
Кроме того, я бы использовал Process Monitor (Sysinternals), поскольку пользователь устанавливает элемент управления ActiveX, чтобы убедиться, что он делает правильные записи реестра. Ищите в реестре любые GUID, связанные с вашими «старыми» элементами управления и последними. Вы можете сделать резервную копию вашего реестра перед тем, как фактически удалять любые ключи реестра.
Вы также можете попробовать очистку реестра или инструмент поиска.
Если это не поможет, возможно, вы могли бы предоставить более подробную информацию о вашем элементе управления ActiveX.
- Вы использовали двоичную совместимость?
- Какая версия windows пользователя?
- Какая версия IE пользователя?
- Это происходит только с этим пользователем? (это работает для других?)
В последнее время пользователь переустанавливал какое-либо программное обеспечение?
Как насчет проверки:
- Реестр (Ваш ActiveX вносит какие-либо изменения в реестр?)
- переменная окружения PATH пользователя
У вас был пользователь отменить регистрацию dll? Вы можете запустить это из строки cmd, где файл DLL находится на жестком диске:
В командной строке введите “regsvr32 /u filename.dll”
, где «filename» - это имя файла, который вы хотите отменить.