Как создать проект установки .NET с предварительным условием Crystal Report?

Я работал над настольным приложением в .net, и оно использует кристаллический отчет для создания отчета в формате pdf/ms word. Однако сейчас я пытаюсь развернуть это приложение с помощью проекта установки Visual Studio. Теперь нужно найти способ каким-то образом связать сборки Crystal Report, чтобы они также могли автоматически устанавливаться на ПК, на котором Crystal Report не установлен. Как я могу достичь этого, пожалуйста?

С Уважением


person Rana    schedule 24.01.2011    source источник


Ответы (1)


В папке «Программы» есть папка Microsoft Visual Studio 9.0\Crystal Reports\CRRedist\IA64. Там вы найдете распространяемый пакет. Просто добавьте этот файл в свой проект установки (определяемые пользователем действия) и установите его.

редактировать: как вы упомянули, setupProject CustomActions разрешает только файлы exe/dll

Я нашел другое решение. Надеюсь, что это удовлетворяет ваши потребности.

Добавьте mergeModul в ваш setupProject (щелкните правой кнопкой мыши обозреватель решений в setupProject, добавьте mergeModul). Папка с именем C:\Program Files (x86)\Common Files\Merge Modules должна появиться автоматически. Там вы можете найти файл с именем CrystallReportsRedistxxx.msm. Добавьте это в свой проект, и он тоже должен установиться.

Чтобы найти подходящий MergeModul для вашей версии, посмотрите: BusinessObjects_CrystallReports

Добавление MergeModul в setupProjects см. на странице SetupMergeModul.

Какой пакет CrystalReport использовать, смотрите по адресу: MS CrystalReport I и MS CrystalReport II

чт

person Pilgerstorfer Franz    schedule 24.01.2011
comment
Вы хотели добавить их с помощью опции «Пользовательское действие»? они поддерживают только .exe/dll, но я вижу, что файл crystalreport имеет расширение .msi. Не могли бы вы помочь, объяснив пошаговый способ добавить это? - person Rana; 24.01.2011
comment
Ах, я помню эти ограничения. Прямо сейчас у меня есть просто быстрое решение - может быть, есть и лучше. 1) Добавьте в проект новый класс InstallerClass 2) переопределите метод Install 3) Добавьте Process.Start(msiexec -i PATHTOREDIST\CRRedist2008_ia64.msi -quiet); Любой файл msi должен выполняться с помощью WindowsInstaller. Я делаю быстрый доктор. погуглите и найдите другое лучшее решение - person Pilgerstorfer Franz; 24.01.2011
comment
Отлично, последнее решение действительно помогает :) - person Rana; 24.01.2011