Написал BHO на VS2005, откомпилировал, на своем компе запустилось. Дал другу, у него dll не зарегилась. Скомпилил как релиз. У меня все работает. Отдал другу, под ХР IE6 снова не зарегилась, но зарегилась на компе под XP и IE7.
Помогите разобраться в проблеме. dll в дебаге и в релизе заметно различаются в размере ~600 и ~48 соответсвенно.
Та же самая dll написанная на Delphi7 регистрируется на всех компах с любой ОС и на всех IE и весит она под Делфи ~400.
В чем проблема переносимости?
PS: при написании BHO использовал библиотеку ATL.
Здравствуйте, wasp_develop, Вы писали:
_>Написал BHO на VS2005,
[extrasens mode on]
Собственно, вы сами себе ответили —
VS2005. С некоторых пор в M$ решили, что надо бы уравнять С# (.net) и С++ в плане неработоспособности софта без установки на компьютер дополнительных компонент. Так что теперь вместе со своими программами извольте поставить на машины, где не установлена VS2005, вот этот файлик
http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en чтоб ваши программы работали.
Альтернативные варианты:
1. Статически прилинковать CRT (получите слона по размерам, в теории должен работать везде)
2. Компиляция более старыми версиями VS (6.0 SP5 the best, msvcrt.dll входит в WinXP по умолчанию)
3. Отказ от CRT, переход на голый Win32API — переписывание кода
[extrasens mode off]
Ежели не поможет — сильно не пинать.
Мда... Майкрософт мастдай...
теперь все в Делфи переписывать придеться.... Ух, как я зол...