Системная ошибка & H80004015 (-2147467243).Класс настроен для работы в качестве идентификатора безопасности, отличного от вызывающего - PullRequest
4 голосов
/ 06 апреля 2011

При попытке отладить VB DLL с помощью Visual Studio 6.0, я получаю следующую ошибку.Можете ли вы сказать мне, что нужно сделать для этого?

Системная ошибка & H80004015 (-2147467243).Класс настроен для работы в качестве идентификатора безопасности, отличного от вызывающего

Ответы [ 3 ]

5 голосов
/ 08 июня 2011

У меня была такая же проблема.
Создал несколько библиотек ActiveX и поместил двоичные файлы в приложение COM +, которое работает под определенной учетной записью (не моей).Затем я использую эти компоненты на страницах сценариев ASP, используя Server.CreateObject ().Если я загружаю исходный код в VB для отладки и пытаюсь его запустить («Начать с полной компиляции»), я получаю это сообщение об ошибке.Причина этого заключается в том, что учетная запись, зарегистрированная в приложении COM +, отличается от моей учетной записи, с которой я пытаюсь запустить.Решением для этого конкретного случая является выключение приложения COM + и удаление компонентов.Закончив отладку, скомпилируйте набор библиотек DLL и верните их обратно в приложение COM +.

Надеюсь, кому-то это поможет: -)

1 голос
/ 13 марта 2012

Мое решение состояло в том, чтобы отослать ссылку на dll в проекте Visual Basic (Project Menu -> References), закрыть диалоговое окно и обратиться к нему еще раз. Я запустил проект, и все снова работает. Мне не пришлось редактировать реестр Windows.

0 голосов
/ 06 апреля 2011

Есть статья базы знаний, которая, кажется, применима к вашей ситуации:

PRB: системное сообщение об ошибке "& H80004015" при запуске DLL ActiveX в Visual Basic IDE

Причина: Когда Visual Basic запускает DLL-библиотеку ActiveX из IDE, она вызывает интерфейс прикладного программирования (API) CoRegisterClassObject для временной регистрации сервера.Это создает AppId и указывает его для запуска в контексте интерактивного пользователя.

Эта проблема возникает из-за ошибки в Microsoft OLE Libraries 4.0, которая входит в комплект Microsoft Platform Software Development Kit (SDK).CoRegisterClassObject завершается с сообщением об ошибке, которое указано в разделе «Проблема» данной статьи при следующих условиях:

  • Если сервер ActiveX, вызывающий API, настроен на запускиспользуя идентификатор интерактивного пользователя.

    -and-

  • Строка, связанная со следующим разделом реестра, содержит любое значение, кроме одного допустимого имени исполняемого файла для оболочкипроцесс:

    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Shell=
    

    В Microsoft Windows 2000 эта ошибка возникает, когда служба центра сертификации не запускается.


Разрешение: Убедитесь, что раздел реестра HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Shell= содержит одно допустимое имя исполняемого файла для процесса оболочки.

Чтобы решить эту проблему в Windows 2000, вы можете установить компонент «Клиент для сети Microsoft» и перезагрузить компьютер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...