Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: Dmitry_gc  
Дата: 03.12.01 08:55
Оценка:
Привет всем, решившимся ответить мне!

Проблема в следующем, есть COM-объекты в виде DLL (термины могу путать, пусть я буду чайник), так вот, на моем компе, где стоит все что можно все мои комы регистрятся, на компе моего друга никак! Разница в отсутствии на нем установленнго Visual Studio я так понимаю. При выполнении команды "regsvr32 MyCom.dll" regsvr32 выдает такую ошибку "Module MyCom.dll" — not found! Хелп ми!!!
Re: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: Андрей Россия  
Дата: 03.12.01 09:03
Оценка:
Здравствуйте Dmitry_gc, Вы писали:

DG>Привет всем, решившимся ответить мне!


DG>Проблема в следующем, есть COM-объекты в виде DLL (термины могу путать, пусть я буду чайник), так вот, на моем компе, где стоит все что можно все мои комы регистрятся, на компе моего друга никак! Разница в отсутствии на нем установленнго Visual Studio я так понимаю. При выполнении команды "regsvr32 MyCom.dll" regsvr32 выдает такую ошибку "Module MyCom.dll" — not found! Хелп ми!!!


А с использованием какой библиотеки написаны твои DLL? Если MFC — то, скорей всего, надо еще как минимум MFC42.DLL (или MFC42D.DLL или ...). В общем опиши поконкретней, тогда и ответ можно будет более вразумительный дать. Если же ATL — то ATL.DLL (а может, быть и нет — опять же от настроек проектов зависит).
Re: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: OlegO Россия http://www.mediachase.ru
Дата: 03.12.01 09:12
Оценка:
Здравствуйте Dmitry_gc, Вы писали:

DG>Привет всем, решившимся ответить мне!


DG>Проблема в следующем, есть COM-объекты в виде DLL (термины могу путать, пусть я буду чайник), так вот, на моем компе, где стоит все что можно все мои комы регистрятся, на компе моего друга никак! Разница в отсутствии на нем установленнго Visual Studio я так понимаю. При выполнении команды "regsvr32 MyCom.dll" regsvr32 выдает такую ошибку "Module MyCom.dll" — not found! Хелп ми!!!


Используй Dependency Walker (Depends.exe) для своего COM объекта, он скорее всего
покажет чего не хватает на твоем компе.
С уважением, OlegO.
Re[2]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 03.12.01 09:38
Оценка:
Здравствуйте Андрей, Вы писали:

А>А с использованием какой библиотеки написаны твои DLL? Если MFC — то, скорей всего, надо еще как минимум MFC42.DLL (или MFC42D.DLL или ...). В общем опиши поконкретней, тогда и ответ можно будет более вразумительный дать. Если же ATL — то ATL.DLL (а может, быть и нет — опять же от настроек проектов зависит).


Дополнение:
если проект ATL и требуется включить регистратор из "atl.dll" в код проекта,
надо сделать
[vc]
#define _ATL_STATIC_REGISTRY
[/vc]
Win32 Release MinDependency это уже делает
- А Вы что курите?
— Минздрав предупреждает
Re[3]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 03.12.01 09:56
Оценка:
Здравствуйте Ростислав Глухов, Вы писали:

РГ>Дополнение:

РГ>если проект ATL и требуется включить регистратор из "atl.dll" в код проекта,
РГ>надо сделать
РГ>[vc]
РГ>#define _ATL_STATIC_REGISTRY
РГ>[/vc]
РГ>Win32 Release MinDependency это уже делает

"уже" это как? VS7? ATL/COM Визард VC6+SP5 добавляет _ATL_STATIC_REGISTRY для конфигурации Release MinDependency
Re[3]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: Андрей Россия  
Дата: 03.12.01 10:01
Оценка:
Здравствуйте Ростислав Глухов, Вы писали:

РГ>Дополнение:

РГ>если проект ATL и требуется включить регистратор из "atl.dll" в код проекта,
РГ>надо сделать
РГ>[vc]
РГ>#define _ATL_STATIC_REGISTRY
РГ>[/vc]

Я это знаю, но знает ли это автор вопроса?
Re[4]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 03.12.01 10:02
Оценка:
Здравствуйте Odi$$ey, Вы писали:

O$>"уже" это как? VS7? ATL/COM Визард VC6+SP5 добавляет _ATL_STATIC_REGISTRY для конфигурации Release MinDependency

VC6
"уже" — по сравнению с ReleaseMinSize
- А Вы что курите?
— Минздрав предупреждает
Re: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: Dmitry_gc  
Дата: 03.12.01 14:03
Оценка:
Здравствуйте Dmitry_gc, Вы писали:

DG>Привет всем, решившимся ответить мне!


DG>Проблема в следующем, есть COM-объекты в виде DLL (термины могу путать, пусть я буду чайник), так вот, на моем компе, где стоит все что можно все мои комы регистрятся, на компе моего друга никак! Разница в отсутствии на нем установленнго Visual Studio я так понимаю. При выполнении команды "regsvr32 MyCom.dll" regsvr32 выдает такую ошибку "Module MyCom.dll" — not found! Хелп ми!!!



Ребят, спасибо за помощь, проблема решается просто, нужно выбрать активную конфигурацию не DEBUG а ReleaseMinDependency. Спасибо ВСЕМ!!!
Re[5]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: DNS Россия  
Дата: 03.12.01 14:56
Оценка:
Здравствуйте Ростислав Глухов, Вы писали:

РГ>Здравствуйте Odi$$ey, Вы писали:


O$>>"уже" это как? VS7? ATL/COM Визард VC6+SP5 добавляет _ATL_STATIC_REGISTRY для конфигурации Release MinDependency

РГ>VC6

РГ>"уже" — по сравнению с ReleaseMinSize

Спор вроде ни к чему, ведь если нет atl.dll, то ошибка будет компонент не зарегистрирован на Registar или нет?

Успехов
Д.Н.С.
Re: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: Hollander Беларусь http://blogs.rsdn.org/ikemefula
Дата: 03.12.01 19:19
Оценка:
Здравствуйте Dmitry_gc, Вы писали:

DG>Привет всем, решившимся ответить мне!


DG>Проблема в следующем, есть COM-объекты в виде DLL (термины могу путать, пусть я буду чайник), так вот, на моем компе, где стоит все что можно все мои комы регистрятся, на компе моего друга никак! Разница в отсутствии на нем установленнго Visual Studio я так понимаю. При выполнении команды "regsvr32 MyCom.dll" regsvr32 выдает такую ошибку "Module MyCom.dll" — not found! Хелп ми!!!



У меня такое было, когда COM-dll была написана для вынь2000, а под NT40 не регистрилась — это защита такая.
Re[2]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: AndyZ  
Дата: 06.12.01 10:11
Оценка:
Здравствуйте Hollander, Вы писали:

H>Здравствуйте Dmitry_gc, Вы писали:


DG>>Привет всем, решившимся ответить мне!


DG>>Проблема в следующем, есть COM-объекты в виде DLL (термины могу путать, пусть я буду чайник), так вот, на моем компе, где стоит все что можно все мои комы регистрятся, на компе моего друга никак! Разница в отсутствии на нем установленнго Visual Studio я так понимаю. При выполнении команды "regsvr32 MyCom.dll" regsvr32 выдает такую ошибку "Module MyCom.dll" — not found! Хелп ми!!!



H>У меня такое было, когда COM-dll была написана для вынь2000, а под NT40 не регистрилась — это защита такая.



В моем случае это произошло при переносе длл-ки с 2000 под 95-ку. Не регистрилась и все. Ей нужны были длл-ки от МФС, о которых писали выше, более свежих версий. Тогда все и зарегистрилось.
Re[3]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: Hollander Беларусь http://blogs.rsdn.org/ikemefula
Дата: 06.12.01 14:38
Оценка:
Здравствуйте AndyZ, Вы писали:

AZ>Здравствуйте Hollander, Вы писали:


H>>У меня такое было, когда COM-dll была написана для вынь2000, а под NT40 не регистрилась — это защита такая.



AZ>В моем случае это произошло при переносе длл-ки с 2000 под 95-ку. Не регистрилась и все. Ей нужны были длл-ки от МФС, о которых писали выше, более свежих версий. Тогда все и зарегистрилось.



Ну да, регистрация проверяет наличие всех dll (виндовских или MFC, без разницы) и если версии не те, то все пропало. Твоя длл требовала подгрузить MFC42.dll нужной версии и обваливалась из-за ее отсутствия. А если бы линковал прогу по другому, (чтоб все dll грузились вручную), то никакой ошибки не было бы. Она возникла бы уже во время работы проги.
Re[4]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
От: AndyZ  
Дата: 06.12.01 17:13
Оценка:
Здравствуйте Hollander, Вы писали:

H>Здравствуйте AndyZ, Вы писали:


AZ>>Здравствуйте Hollander, Вы писали:


H>>>У меня такое было, когда COM-dll была написана для вынь2000, а под NT40 не регистрилась — это защита такая.



AZ>>В моем случае это произошло при переносе длл-ки с 2000 под 95-ку. Не регистрилась и все. Ей нужны были длл-ки от МФС, о которых писали выше, более свежих версий. Тогда все и зарегистрилось.



H>Ну да, регистрация проверяет наличие всех dll (виндовских или MFC, без разницы) и если версии не те, то все пропало. Твоя длл требовала подгрузить MFC42.dll нужной версии и обваливалась из-за ее отсутствия. А если бы линковал прогу по другому, (чтоб все dll грузились вручную), то никакой ошибки не было бы. Она возникла бы уже во время работы проги.


Да, так и происходит, когда регистрится уже нормально под 95-й, то сама прога уже работает коряво. Есть ли варианты чтобы она работала под 95-й нормально? Ведь проект я сделал по 2000-й, под VC6.0 ? Мне кажется что уже нет. Пробовал перекомпилить под 95-й в 5-м визуале, выдает бредовую ошибку на DllRegistrerServer. Хотя на DllUnRegistrerServer абсолютно не плюется. Вобщем того и следовало ожидать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.