Ошибка при запуске программы
День добрый!
Запускаю свою программу под 64битной ОС. При запуске получаю ошибку:
Retrieving the COM class factory for component with CLSID ..... failed .....
как вроде не зарегистрирована dll. На самом деле она зарегистрирована (и инсталлятором пробовал и ручками)
Отладчиком вижу, что ошибка происходит в строке
report = new TfrxReportClass();
Под 32битной ОС все ОК.
Версия FastReport Studio - 4.5
Заранее благодарен
Запускаю свою программу под 64битной ОС. При запуске получаю ошибку:
Retrieving the COM class factory for component with CLSID ..... failed .....
как вроде не зарегистрирована dll. На самом деле она зарегистрирована (и инсталлятором пробовал и ручками)
Отладчиком вижу, что ошибка происходит в строке
report = new TfrxReportClass();
Под 32битной ОС все ОК.
Версия FastReport Studio - 4.5
Заранее благодарен
Комментарии
Обнаружено, что при записи в реестр под Windows 2003 сама винда разбрасывает ключики реестра отдельно под 32битные, отдельно под 64битные и отдельно под 32 и 64битные приложения. Получаем после инсталляции FastReport нужные ключи в ветке Wow6432Node. При чтении из реестра Вами ищутся непосредственно ветки без разбивок под разрадность ОС (может используются функции, которые не умеют добавлять автоматически информацию о разрядности, если таковые имеются вообще). В результате ключ не найден и программа ругается.
Что делать ?!?
(с) не мое
Спасибо.
Мы потестировали FR Studio на 64-х битной Windows 2008 и обнаружили, что ошибка имеет место быть.
Решить проблему удалось ручной регистрацией DLL при помощи regsvr32 FastReport3.dll после инсталляции продукта.