База данных реестра com обнаружила системную ошибку

  • Remove From My Forums
  • Question

  • User-830563764 posted

    For an aspx.vb file, we have had a database Server where the SQL Server databases were built. 
    Selecing «Start without debugging» completed the application with no data bound to a GridView.  

    To debug the application, I clciked Debug menu and select Start Debugging.  Here is the error msg:

    «Unable to strat debugging on the web server.  The COM+ registry database detected a system error.»

    What does the error message mean?

    TIA,
    Jeffrey  

Answers

  • User-830563764 posted

    Thanks.

    Have solved the problem.  It seems to me there are many reasons for this COM+ registry database error.

    I tried adding ASPNET user to the local Administrator group and the error went away.  On my other PC
    working fine for Start Debugging, the Adminstrator group does not have an ASPNET user.

    I don’t know why.  BTW, I am running ASPnet 2.0 with Framework 2.0.

    • Marked as answer by

      Thursday, October 7, 2021 12:00 AM

В небольшом тестовом проекте у меня есть этот код:

HRESULT hr = CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_ALL, __uuidof( IXMLDOMDocument ), ( void ** ) & m_pDoc);
if ( hr != S_OK )
{
  throw "MSXML DOM Document could not be created";
}

Это компилируется и работает без проблем. В другом проекте тот же код не работает с:

hr = 0x80110474 База данных реестра COM+ обнаружила системную ошибку

Оба проекта скомпилированы на языке C++ с использованием Visual Studio 2010. Я провел параллельное сравнение параметров двух проектов, чтобы попытаться определить, какая разница может быть причиной этой проблемы. До сих пор я не вижу причин, по которым тестовый проект запускается, а другой проект не выполняется.

Редактировать — Полный список примеров кода:

#include "stdafx.h"
#include <atlbase.h>
#include <atlconv.h>
#include "MsXml.h"
int _tmain(int argc, _TCHAR* argv[])
{
    IXMLDOMDocument* m_pDoc = NULL;
    if(FAILED(CoInitializeEx( 0, COINIT_MULTITHREADED )))
      if(FAILED(CoInitializeEx( 0, COINIT_APARTMENTTHREADED )))
        throw "Could not initialize COM";
    HRESULT hr = CoCreateInstance( CLSID_DOMDocument, NULL, CLSCTX_ALL, __uuidof( IXMLDOMDocument ), ( void ** ) & m_pDoc);
    if ( hr != S_OK )
      throw "MSXML DOM Document could not be created";
    return 0;
}

2011-06-02 01:27

2
ответа

Нашел решение, хотя и не идеальное, но решил проблему. Я создал новый проект и вручную импортировал настройки.

2011-06-02 23:53

У меня та же проблема с Turbo Delphi: тот же код с CoCreateInstance() работает в одном проекте и не работает в другом с HR=80110474 (COMADMIN_E_REGDB_SYSTEMERR). Это было вызвано переопределением переменных среды IDE, которые хранятся в настройках проекта. Таким образом, он не работает только при запуске под IDE (независимо от состояния отладки). Очистка настроек проекта решает проблему.

2015-03-23 16:35

Ответы [ 2 ]

Я использую Visual Studio 2002, и у меня возникла та же проблема с тем же сообщением об ошибке. Чтобы решить эту проблему, я сделал только первые 5 шагов решения, рекомендованного ранее.

Я начинаю с VS 2002, потому что использую его в своей работе. У меня есть основные понятия, но я никогда не развиваюсь в этом языке программирования, поэтому я начинающий.

Самым важным моментом в этом решении, я полагаю, является понимание того, что ASPNET — это пользователь на компьютере разработчика, в качестве администратора, как «Name.LastName» или любой другой пользователь, который обращается к компьютеру. Когда я искал ASPNET для добавления в группу администраторов и нашел его, это имело гораздо больше смысла, потому что я точно не знаю, как работает архитектура .NET.

Итак, если у вас возникла та же проблема, я подтверждаю, что это решение решило мою проблему, даже когда я перезагружаю машину:

  1. Закрыть VS
  2. Отключение IIS
  3. Добавление пользователя ASPNET компьютера в локальную группу администраторов
  4. Запуск IIS
  5. Запустите VS и успешно отладьте веб-приложение ASP.NET

Спасибо за решение !!

#visual-studio-2010 #visual-c #com #com

#visual-studio-2010 #visual-c #com #com

Вопрос:

В небольшом тестовом проекте у меня есть этот код:

 HRESULT hr = CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_ALL, __uuidof( IXMLDOMDocument ), ( void ** ) amp; m_pDoc);
if ( hr != S_OK )
{
  throw "MSXML DOM Document could not be created";
}
  

Это компилируется и выполняется без проблем. В другом проекте тот же код завершается ошибкой с:

hr = 0x80110474 В базе данных реестра COM обнаружена системная ошибка

Оба проекта скомпилированы на C с использованием Visual Studio 2010. Я просмотрел и сравнил параллельные настройки между двумя проектами, чтобы попытаться определить, какая разница может быть причиной этой проблемы. Пока я не вижу причин, по которым тестовый проект выполняется, а другой проект завершается неудачей.

Редактировать — Полный список примеров кода:

 #include "stdafx.h"
#include <atlbase.h>
#include <atlconv.h>
#include "MsXml.h"
int _tmain(int argc, _TCHAR* argv[])
{
    IXMLDOMDocument* m_pDoc = NULL;
    if(FAILED(CoInitializeEx( 0, COINIT_MULTITHREADED )))
      if(FAILED(CoInitializeEx( 0, COINIT_APARTMENTTHREADED )))
        throw "Could not initialize COM";
    HRESULT hr = CoCreateInstance( CLSID_DOMDocument, NULL, CLSCTX_ALL, __uuidof( IXMLDOMDocument ), ( void ** ) amp; m_pDoc);
    if ( hr != S_OK )
      throw "MSXML DOM Document could not be created";
    return 0;
}
  

Комментарии:

1. Как вы зарегистрировали компонент с идентификатором класса CLSID_DOMDocument? И как вы ссылались на нее в обоих проектах?

2. CLSID_DOMDocument является частью пакета MSXML от Microsoft. И была установлена с помощью их установщика.

3. Это предустановленный компонент в Windows, убедитесь, что никогда не устанавливайте его самостоятельно. Почему при этом возникает ошибка COM , из фрагмента кода невозможно догадаться. Предположение, что реестр на этом компьютере находится в плохом состоянии, вероятно, является правильным предположением.

4. @Hans — Согласно описанию, фрагмент кода работает в одном проекте, но не в другом. Я сомневаюсь, что это имеет какое-либо отношение к поврежденному реестру!

5. Рассматриваемый результат — COMADMIN_E_REGDB_SYSTEMERR. Повреждена или нет, проблема почти наверняка как-то связана с реестром. Что-то заставляет инфраструктуру COM полагать, что с регистрацией этого COM-объекта что-то не так. Вы выполняете эти тесты в 64-разрядной системе? Если да, то являются ли рабочие тесты и тесты с ошибкой 32-разрядными (или оба 64-разрядных)? Если нет, то причиной ваших проблем могут быть различия между «реальным» реестром и SysWOW64.

Ответ №1:

Найдено решение, хотя и не идеальное, оно решило проблему. Я создал новый проект и вручную импортировал настройки.

Ответ №2:

У меня такая же проблема с Turbo Delphi: тот же код с CoCreateInstance () работает в одном проекте и завершается сбоем в другом с HR = 80110474 (COMADMIN_E_REGDB_SYSTEMERR). Это было вызвано переопределением IDE переменных среды, которые хранятся в настройках проекта. Таким образом, сбой происходит только при запуске в среде IDE (независимо от состояния отладки). Очистка настроек проекта устраняет проблему.

Комментарии:

1. Большое вам спасибо за это, я потратил всю ночь, пытаясь отладить эту проблему. В моем случае диалоговые окна с файлами не открывались. К сожалению, мне нужно переопределить переменную среды, чтобы обойти ошибку в сценариях сборки Delphi… Просто не удается выиграть.

+

0

-

0

13.07.2015 23:28

В сообщение на первом скриншоте что-то говорится о системном реестре. Попробуйте почистить реестр при помощи специальной утилиты

CCleaner

. На втором скриншоте в сообщении говорится о правах администратора. Необходимо запускать приложение от имени администратора, или просто заходить в систему под учётной записью администратора.

+

0

-

0

03.06.2016 15:10

не получается скачивать фильмы -зависает и появляется сообщение»нет связи с сервером зоны проверьте настройки антивируса и/или сетевого фильтра. как их настроить?

Понравилась статья? Поделить с друзьями:
  • Бакси луна 3 комфорт ошибка 01е
  • Бакси луна 3 комфорт 310fi ошибка 03е
  • Бакси луна 3 240 fi ошибка е25
  • Бакси луна 3 комфорт 240 fi коды ошибок
  • Бакси луна 3 как сбросить ошибку