Получение фабрики класса COM для компонентов с CLSID - класс не зарегистрирован - PullRequest
5 голосов
/ 30 сентября 2019

Я пытаюсь запустить приложение Windows ( winForm ) на ПК ( ОС Win7, 64-битная ), но оно показывает эту ошибку или исключение:

Получение фабрики классов COM для компонентов с CLSID {00853A19-BD51-419B-9269-2DABE57EB61f} не удалось из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Я обнаружил, что мне нужно Сборка для x86 (хотя текущее окно 64-битное). Я сделал это, но получил ту же ошибку. После этого теперь я пытаюсь установить зависимость zkeeper , но получаю эту ошибку:

enter image description here

Модуль D: \ TheSDK\ zkemkeeper.dll "может быть несовместим с версией Windows, которую вы используете. Проверьте, совместим ли модуль с x86 или x64 версией regsvr32.exe

Вот пакетный файл (Dependency SDKустановщик):

cd /d %~dp0
if /i "%PROCESSOR_IDENTIFIER:~0,3%"=="X86" (
    echo system is x86
    copy .\*.dll %windir%\system32\
    regsvr32 %windir%\system32\zkemkeeper.dll

    ) else (
        echo system is x64
        copy .\*.dll %windir%\SysWOW64\
        regsvr32 %windir%\SysWOW64\zkemkeeper.dll

    )

Обновление: даже я пытаюсь запустить и установить вручную как regsvr system32 и 64, так и по-прежнему получая ту же ошибку.

Ответы [ 2 ]

1 голос
/ 07 октября 2019

Я не знаю, в чем была проблема, но, возможно, это было связано с .Net Framework. После установки пакета разработчика .Net Framework 4.5.2 . Я удалил свой SDK и снова зарегистрировал все зависимости (DLL). Тогда это сработало.

0 голосов
/ 08 октября 2019

Эта ошибка возникает из-за того, что com dll Zmkeeper.dll не смог зарегистрироваться. В некоторых случаях может потребоваться регистрация вместе с файлом typeLib. Кроме того, возможно, может быть выполнено какое-либо пользовательское действие установщика, если оно проходит через установщик. Похоже, установка демо-версии решила проблему. оформить заказ упомянутый вопрос здесь

...