2009-04-30 3 views
2

У меня есть COM-DLL, которую я зарегистрировал через RegSvr32, но она не отображается в DComCnfg.DCOMCNFG: почему не появляется dll?

Любая помощь относительно того, почему?

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

Спасибо за любую помощь.

ответ

1

regsvr32 просто запускает регистрационную функцию, которую предоставляет ваша DLL. Если информация о регистрации в вашей DLL ошибочна, regsvr32 ничего не может с этим поделать. Если вы не уверены, что искать, вы можете попробовать запустить Regmon (sysinternals) с установленным фильтром на * regsvr32 * или так, а затем искать зарегистрированные идентификаторы GUID. Затем найдите их в подробном представлении DCOMCNFG. Вероятно, вы найдете его там, если regsvr32 преуспел. Это даст вам представление о корне проблемы, хотя фактическое решение зависит от того, что не так в вашей регистрационной информации.

Другая удаленная опция заключается в том, что у вас есть конфликт 32-64 бит, где regsvr32 запускается в 32 бит и DCOMCNFG в 64 бит или наоборот. Я не уверен, что показывает DCOMCNFG в таком случае - у меня никогда не было этой проблемы, но есть разные ульи реестра для 32 и 64 бит, и, возможно, вы не смотрите в нужное место.

1

Применяется для большинства 32-битных приложений COM

  • Установка системных файлов сервера в C: \ Windows \ SysWOW64
  • Установите .udl файлы в C: \ Program Files (x86) \ Common Files \ система \ OLE DB \ Data Links \
  • Установить все файлы приложения в C: \ Program Files (x86) \ ...
  • Установка 32 Bit SQL Server 2005/2008 в C: \ Program Files (x86) \ ...

Регистрация 32 бит COM приложения через DCOMCNFG (DCOM Config)

  • Start ... Run ... ММС -32
  • выберите Файл → Добавить/удалить оснастку и добавить "Component Services"
  • Записи будут автоматически добавлены. После добавления записей вы можете снова использовать 64-битный DCOMCNFG.

 Смежные вопросы

  • Нет связанных вопросов^_^