У меня есть приложение WinForms, созданное с использованием Visual Studio 2005, включая отчеты Crystal Reports, поставляемые с VS2005, для запуска и просмотра отчетов. Мой установщик использует модуль слияния CrystalDecisionsRedist2005_x86 для установки Crystal. Это все работает хорошо, пока я не попробую установить на Vista, когда я получаю ошибки при регистрации DLL Crystal. Кажется, это хорошо известная проблема, о чем сообщалось на форумах, таких как здесь , здесь и здесь , но, как и в случае с этими вещами, общепринятого решения не существует что я могу найти, и бизнес-объекты, перемещающие свои сайты, тоже не помогают. (Прекрасный пример проблемы, когда требуется стековерсок).
Так как же развернуть приложения Crystal Reports для VS2005 в Vista?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ :
Ошибки Vista, регистрируемые в журнале событий, появляются в виде пар:
Сбой генерации контекста активации
для "C: \ Program Files \ Common
Файлы \ Бизнес
Объекты \ 2,7 \ Bin \ ExportModeller.dll»
Зависимая сборка
Microsoft.VC80.ATL, processorArchictecture = "x86" .... не найден. Пожалуйста, используйте
sxstrace.exe для подробной диагностики.
1021 * тогда *
Продукт: Ошибка 1904.
Модуль "C: \ Program Files \ Common"
Файлы \ Бизнес
Объекты \ 2,7 \ Bin \ ExportModeller.dll»
не удалось зарегистрироваться. HRESULT
-217010895. Обратитесь в службу поддержки.
и т. Д. Для различных других библиотек.
Мой установщик включает в себя модули слияния для ATL, но я думаю, что они не применяются в первую очередь. В моем Wise Installer Edition нет способа указать, какие модули слияния применяются первыми.
Вместо этого я попытался установить модуль слияния Crystal Reports X1, напрасно надеясь, что он будет обратно совместим с 10. Но хотя установка работает нормально, я получаю исключение при попытке запустить отчет со ссылкой ошибка, потому что не может найти соответствующую сборку. Не слишком удивительно.
Я также пытался использовать модуль слияния CrystalReports10_NET_EmbeddedReporting.msm, доступный на сайте загрузки программного обеспечения поддержки Business Objects (файл называется «Модули слияния для CR 10 .NET Deployments -En»)
Я продолжу свой список вещей, которые можно попробовать из разных тем, но мне бы понравилось, если бы у кого-то был «ответ».
спасибо.
ТЕКУЩЕЕ РЕШЕНИЕ
Мой текущий метод / обходной путь заключается в установке Microsoft Visual C ++ 2005 SP1 Распространяемый пакет (x86) на компьютере с Vista до установки моего MSI. Это позволяет моему обычному MSI отлично работать на Vista, но не идеально, так как я хочу распространять только один exe.
Я также поднимал этот вопрос на форумах SAP / CrystalReports здесь .
ДАЖЕ БОЛЬШЕ ИНФОРМАЦИИ
В примечаниях к выпуску для CR для .NET SP1 отмечается, что эта проблема существовала и теперь решена:
ADAPT00738607
Описание: Когда
установка настроенного проекта установки
с Crystal Reports для визуального
Модули слияния Studio 2005 (.msm) включены
Vista, некоторые компоненты COM не в состоянии
регистр. например Модуль C: \ Program
Файлы \ Общие файлы \ Бизнес
Объекты \ 2.7 \ Bin \ ExportModeller.dll
не удалось зарегистрироваться. HRESULT
-2147010895. Обратитесь в службу поддержки. "Если вы запустите setup.exe
снова и выберите ремонт,
установка будет продолжаться без каких-либо
ошибка, и компонент может быть
зарегистрировано.
Новое поведение: эта проблема
решено
Однако я до сих пор не нашел обновленных модулей слияния, поэтому мне не ясно, где была решена эта проблема. Предложенный обходной путь для исправления установки стоит рассмотреть, если вам не нужно устанавливать пакет C ++ отдельно.