Проблема в следующем, есть COM-объекты в виде DLL (термины могу путать, пусть я буду чайник), так вот, на моем компе, где стоит все что можно все мои комы регистрятся, на компе моего друга никак! Разница в отсутствии на нем установленнго Visual Studio я так понимаю. При выполнении команды "regsvr32 MyCom.dll" regsvr32 выдает такую ошибку "Module MyCom.dll" — not found! Хелп ми!!!
Re: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
Здравствуйте 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-ки! Я в ужасе ...
Здравствуйте 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-ки! Я в ужасе ...
Здравствуйте Андрей, Вы писали:
А>А с использованием какой библиотеки написаны твои 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-ки! Я в ужасе ...
Здравствуйте Ростислав Глухов, Вы писали:
РГ>Дополнение: РГ>если проект 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-ки! Я в ужасе ...
Здравствуйте Ростислав Глухов, Вы писали:
РГ>Дополнение: РГ>если проект ATL и требуется включить регистратор из "atl.dll" в код проекта, РГ>надо сделать РГ>[vc] РГ>#define _ATL_STATIC_REGISTRY РГ>[/vc]
Я это знаю, но знает ли это автор вопроса?
Re[4]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
Здравствуйте Dmitry_gc, Вы писали:
DG>Привет всем, решившимся ответить мне!
DG>Проблема в следующем, есть COM-объекты в виде DLL (термины могу путать, пусть я буду чайник), так вот, на моем компе, где стоит все что можно все мои комы регистрятся, на компе моего друга никак! Разница в отсутствии на нем установленнго Visual Studio я так понимаю. При выполнении команды "regsvr32 MyCom.dll" regsvr32 выдает такую ошибку "Module MyCom.dll" — not found! Хелп ми!!!
Ребят, спасибо за помощь, проблема решается просто, нужно выбрать активную конфигурацию не DEBUG а ReleaseMinDependency. Спасибо ВСЕМ!!!
Re[5]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
Здравствуйте Ростислав Глухов, Вы писали:
РГ>Здравствуйте Odi$$ey, Вы писали:
O$>>"уже" это как? VS7? ATL/COM Визард VC6+SP5 добавляет _ATL_STATIC_REGISTRY для конфигурации Release MinDependency
РГ>VC6 РГ>"уже" — по сравнению с ReleaseMinSize
Спор вроде ни к чему, ведь если нет atl.dll, то ошибка будет компонент не зарегистрирован на Registar или нет?
Успехов
Д.Н.С.
Re: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
Здравствуйте 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-ки! Я в ужасе ...
Здравствуйте 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-ки! Я в ужасе ...
Здравствуйте AndyZ, Вы писали:
AZ>Здравствуйте Hollander, Вы писали:
H>>У меня такое было, когда COM-dll была написана для вынь2000, а под NT40 не регистрилась — это защита такая.
AZ>В моем случае это произошло при переносе длл-ки с 2000 под 95-ку. Не регистрилась и все. Ей нужны были длл-ки от МФС, о которых писали выше, более свежих версий. Тогда все и зарегистрилось.
Ну да, регистрация проверяет наличие всех dll (виндовских или MFC, без разницы) и если версии не те, то все пропало. Твоя длл требовала подгрузить MFC42.dll нужной версии и обваливалась из-за ее отсутствия. А если бы линковал прогу по другому, (чтоб все dll грузились вручную), то никакой ошибки не было бы. Она возникла бы уже во время работы проги.
Re[4]: Блин! Не регистрируются COM dll-ки! Я в ужасе ...
Здравствуйте 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 абсолютно не плюется. Вобщем того и следовало ожидать.