2009-11-08 1 views
5

Я считаю, что обычный способ развертывания Crystal Report с помощью .NET-программы - установить его как предварительное условие в настройках публикации, а затем .msi будет упакован с Файлы ClickOnce в сети/сети/CD/wtv. Когда пользователь запускает файл setup.exe, он проверяет, находится ли Crystal Report на клиентском компьютере. Если нет, он запускает Crystal Report .msi. Но это всегда будет требовать прав администратора.Разверните DLL Crystal Report только с помощью ClickOnce без предварительного использования .msi

Вопрос в том, можно ли упаковывать DLL Crystal Report вместе с выводами других приложений, чтобы не требовалась явная установка? Мое приложение использует многие многие компоненты и в том числе DLL с установкой, достаточно для большинства из них. Могу ли я сделать то же самое с Crystal Report?

+0

привет, я столкнулся с той же проблемой, вы когда-нибудь выяснили, как это сделать? – matao

ответ

2

Если вы настроены на это самостоятельно, вы можете следить за установкой среды выполнения Crystal Reports, чтобы узнать, какие файлы/записи/настройки реестра, которые он создает/изменяет. Кроме того, вы можете декомпилировать msi или загрузить и декомпилировать файл преобразования mst из Crystal Reports. Как только вы знаете, что он делает, напишите что-нибудь, чтобы сделать это самостоятельно.

4

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

Много COM-объектов, которые требуют регистрации, поддерживают библиотеки DLL, которые должны быть установлены ... Информация о лицензировании, которая должна быть размещена где-то (Crystal Reports всегда была большой по лицензированию).

Теоретически, если ваше приложение работает с полным доверием, вы можете следить за установкой среды выполнения Crystal Reports for .NET и дублировать его в C#, но это большая работа и в лучшем случае будет ненадежной.

К сожалению, окончательный ответ - вы не можете.

Вы можете проверить Активные отчеты или некоторые другие чистые .NET-решения для отчетов.

+0

Спасибо за ответ. Просто интересно. Мое приложение развертывает в настоящее время кучу DLL через ClickOnce. Большинство из них не слишком красивы. Много COM-материалов, некоторые из них довольно тяжелые. Все остальное, кажется, отлично работает, кроме Crystal Report. 3 других моих сторонних продуктов также требуют лицензирования (DotNetBar, DevXpress и FarPoint). Могу ли я теоретически делать то же самое с Crystal Report и переносить его через ClickOnce через dll? – xster

0

Я почти уверен, что есть распространенный пакет библиотек, который поставляется с окончательной версией Crystal Reports, когда вы его покупаете (не уверен, что этот пакет поставляется с версией Visual Studio).

+0

Привет, но я думаю, что распространяемый - это .msi, который требует прав администратора для установки. Мое намерение - позволить пользователю получить мое программное обеспечение через пакет ClickOnce и установить все необходимое локально без администратора. – xster

+0

@Xster - «без администратора» будет означать, что ваше приложение ClickOnce ** очень ограничено **, что он может и (например, доступ к сети, доступ к файлам). –

0

Я бы предоставил отдельную ссылку на Crystal Redistributable на месте установки и собрал чек в приложении ClickOnce для наличия файлов Crystal.