Как перераспределить Crystal Reports для VS2005 на Vista?

голоса
2

У меня есть приложение WinForms , построенный с использованием Visual Studio 2005, в том числе отчетов Crystal Reports , которая поставляется с VS2005 для запуска и просмотра отчетов. Мой инсталлятор использует модуль слияния CrystalDecisionsRedist2005_x86 для установки Crystal. Это все работает хорошо , пока я стараюсь устанавливать на Vista, когда я получаю ошибки регистрируя DLLs кристалла. Кажется , это хорошо известная проблема, как сообщались в таких форумах, как здесь , здесь и здесь , но , как с этими вещами нет общепринятого решения , которое я могу найти, и бизнес - объекты , двигающиеся свои сайты вокруг не помогает. (Идеальный пример задачи , где требуется StackOverflow).

Так как при развертывании Crystal Reports для VS2005 приложений в Vista?

Дополнительная информация :

Ошибки Vista, регистрируемые в журнале регистрации событий приходят пары, как это:

формирование контекста Ошибка активации для C: \ Program Files \ Common Files \ Business Objects \ 2.7 \ Bin \ ExportModeller.dll Зависимая Ассамблея Microsoft.VC80.ATL, processorArchictecture = x86 .... не может быть найден. Пожалуйста, используйте sxstrace.exe для подробной диагностики.

тогда

Продукт: Ошибка 1904. Модуль C: \ Program Files \ Common Files \ Business Objects \ 2.7 \ Bin \ ExportModeller.dll не удалось зарегистрировать. HRESULT -217010895. Обратитесь в службу поддержки.

и так далее для различных других библиотек DLL.

Мой инсталлятор включает в себя модули слияния для ATL, но я предполагаю, что они не получают применяться первым. Там нет никакого способа, в моем Wise Installer Edition, чтобы указать, какие модули слияния применяются в первую очередь.

Я попытался установить X1 модуль слияния Crystal Reports вместо этого, в тщетной надежде, что она будет иметь обратную совместимость с 10. Но в то время как установка работает нормально, я получаю исключение при попытке запустить отчет, с эталонной ошибкой, так как не может найти подходящий узел. Не слишком удивительно.

Я также попытался с помощью CrystalReports10_NET_EmbeddedReporting.msm модуля слияния доступного из Business Objects поддержки загрузки программного обеспечения сайта (файл под названием «Модули слияния для CR 10 .NET внедрений -en»)

Я буду продолжать в моем списке вещей, чтобы попробовать из разных потоков, но будет любить его, если кто-то «ответ».

Благодарю.

СОВРЕМЕННОЕ РЕШЕНИЕ

Мой текущий метод / обходной путь заключается в установке Microsoft Visual C ++ 2005 SP1 Redistributable Package (x86) на машине Vista , перед установкой моей MSI. Это позволяет моей нормальной MSI, отлично работает на Vista, но не идеально , как я только хочу , чтобы распространить единый файл EXE.

Я также поднял это на форумах SAP / CrystalReports здесь .

ДАЖЕ ПОДРОБНЕЕ

В выпуске ноты для CR для .NET записки SP1 , что эта проблема существует и в настоящее время решена:

ADAPT00738607

Описание: При установке настроенного проекта установки с Crystal Reports для Visual Studio 2005 модулей слияния (.msm) на Vista, несколько COM-компонентах не регистрируется. например, Модуль C: \ Program Files \ Common Files \ Business Objects \ 2,7 \ Bin \ ExportModeller.dll не удалось зарегистрировать HRESULT -2147010895 Обратитесь в службу поддержки... Если запустить setup.exe снова и выберите ремонт, установка будет продолжаться без каких-либо ошибок, и компонент может быть зарегистрирован.

Новое поведение: Эта проблема решена

Тем не менее, я до сих пор не нашли обновленные модули слияния, так что я не ясно, где эта проблема была решена. Их рекомендованная обходной путь, чтобы восстановить установку, стоит обратить внимание, если вы не хотите, чтобы установить пакет C ++ отдельно.

Задан 19/05/2009 в 12:42
источник пользователем
На других языках...                            


1 ответов

голоса
1

Я столкнулся с этой проблемой сегодня. Похоже, что там должна быть более простой способ, чтобы иметь MSI-файл установки его предпосылки.

Googling дает следующий блог , который объясняет проблему. В нем перечислены следующие решения:

  1. Установка ВК 8.0 Время автономной работы с помощью распространяемого пакета с помощью установки Chainer
  2. Установите частные копии файлов во время выполнения VC 8.0.
  3. Статическая ссылка на VC 8.0 автономной работу при создании ваших бинарных файлов, так что они не будут зависеть от глобальных сборок
  4. Используйте совершить пользовательское действие или пользовательское действие по расписанию после InstallFinalize.
  5. Преобразование информации о самостоятельной регистрации на стандартный MSI авторинга и прекратить использование самостоятельной регистрации.

Я не мог использовать вариант 1, потому что я хотел один файл MSI.
Я не мог использовать варианты 3 или 5, так как это Lib третья сторона.
Я не хочу , чтобы использовать вариант 2, так как я не хочу иметь дело с частными копиями файлов.

Это оставило вариант 4. Это, кажется, не лучшим образом, но он работал на меня. Я редактировал CrystalDecisionsRedist2005_x86 модуль слияния (с помощью InstallShield) и удалить записи в таблице SelfReg. Затем я создал пользовательское действие запланированное на Commit, чтобы зарегистрировать файлы, которые я удалил.

Ответил 09/12/2009 в 21:24
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more