QuickBooksDev Ответов: 0

000245-0000-0000-C000-000000000046 80040154 класс не зарегистрирован


У меня есть пара настольных приложений VB.2010, которые успешно работают в течение многих лет на многих клиентах.

Один из моих клиентов получил новый ПК с Windows 10.

Он установил Office 2010.

Когда наша программа запускается она получает
000245-0000-0000-C000-000000000046 80040154 класс не зарегистрирован
ошибка.

Затем он установил Office 365, но это не помогло.

Так как программы, где работает на его старой машине без проблем в течение многих лет (и на многих других системах) Я не могу поверить, что это код.

Так что же именно означает класс, не зарегистрированный?
Как вы зарегистрировали класс?
Что же на самом деле вызывает эту проблему?

Спасибо

Что я уже пробовал:

Объяснено выше.
Установлен Office 365

Richard MacCutchan

С какой версией Excel вы создавали свое приложение?

F-ES Sitecore

Это означает, что dll, необходимый код не зарегистрирован на целевом компьютере. Перейдите на компьютер, где работает код, и найдите класс в реестре (CTR\CLSID\{....}). посмотрите на вложенные ключи, которые дадут вам некоторую информацию о классе\code\dll, который он ищет. Как предположил Ричард, это, скорее всего, проблема версии.

Edit: сделал это на моей собственной машине;

Сборка: Microsoft.Офис.Взаимодействие.Excel, версия=15.0.0.0, культура=нейтральная, PublicKeyToken=71E9BCE111E9429C
Мыши runtimeversion: версия V2.0.50727

ZurdoDev

Пожалуйста, опубликуйте в качестве решения.

Richard Deeming

Также может быть 32/64-битная проблема, если новый компьютер 64-разрядный и приложение компилируется как "любой процессор".

QuickBooksDev

В настоящее время разрабатывается на W10, Office 365 2016. Эти программы существуют уже около 10 лет и были разработаны и работали на многих версиях Office/Excel. Разрабатываю на Office 2016 уже около 1 года.

Поиск с помощью RegEdit зависает система и вызывает жесткую перезагрузку. Просмотр экспорта в блокноте - не самый простой способ увидеть, что происходит в реестре.

Ближе всего я вижу это
[Раздел HKEY_CLASSES_ROOT\Wow6432Node\интерфейс\{000214F9-0000-0000-C000-000000000046}\ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"


Приложение должно быть 32-битным. Раньше он работал на 64-битном excel.

Я экспортировал классы и не могу их найти
clsid\{000214F9-0000-0000-C000-000000000046}
в nodepad

Daniele Rota Nodari

Поиск в RegEdit не должен быть проблемой, даже если вы вводите неправильные параметры поиска: если это действительно зависает система, то я бы искал что-то более серьезное, чем несоответствие DLL. Это может быть повреждение реестра, которое препятствует правильному поведению системы и может привести к непредсказуемым проблемам.

QuickBooksDev

Редактор зависает уже происходит в течение длительного времени. Ошибка с DLL не возникает в одной и той же системе. Проблемы RegEdit не кажутся вам новыми, если вы загуглите его.

QuickBooksDev

Моя ошибка (я слепну, глядя на эти GUID). Я нашел
[Ключ ключа\CLSID\{00024500-0000-0000-C000-000000000046}]
@="Приложение Microsoft Excel"

и еще куча других.
Вышеприведенный комментарий имел неправильный guid.

0 Ответов