Использование ClickOnce с предварительным требованием Crystal Reports

У меня есть приложение .NET Winforms (созданное в VS2005), которое я развертываю с помощью ClickOnce. На одной из форм у меня есть средство просмотра отчетов Crystal Reports для просмотра пользователями отчетов, но для того, чтобы использовать это в приложении, я должен включить Crystal Reports XI Release 2 prereq, который они устанавливают до установки приложения. Это в основном устанавливает полированную версию Crystal на пользовательскую машину.

Он работает, публикуя этот способ, но это своего рода хлопот для пользователя, который должен ждать Crystal для установки и для меня огромная проблема, потому что публикация приложения с prereq занимает много времени, потому что оно для загрузки большой предварительной информации на сервер.

Поскольку публикация занимает так много времени, и новые установки не являются супер распространенными, я обычно не включаю prereq при публикации изменений и вместо этого публикую его только с prereq, если требуется новая установка.

Если вы использовали ClickOnce для публикации приложения с Crystal Reports, это то, как вы опубликовали его или есть более простой/лучший способ.

Есть ли способ включить /GAC CR dll, а не включать и устанавливать Crystal Report prereq или есть способ, которым я могу настроить развертывание OneClick, чтобы не копировать файл каждый раз. Если бы я мог настроить развертывание ClickOnce, поэтому мне не нужно включать prereq, а вместо этого просто указывать установку на стандартное местоположение, которое могло бы помочь.

Надеюсь, что это было несколько ясно и что кто-то может помочь. Благодаря

Ответ 1

Из ответов кажется, что это довольно распространено, поэтому я просто опубликую, что я делаю, чтобы обойти эту проблему.

Сначала я начну, что думаю, что ответ Бронумского должен работать, но я не имел успеха с ним в прошлом, когда я его пробовал.

Способ, которым я сталкиваюсь с этой проблемой, - это просто опубликовать файлы, используя ClickOnce, в папку локально, а затем ftp файлы вручную, исключая созданный каталог установки crystalreport.

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

Надеюсь, это поможет. Благодаря

Ответ 2

При развертывании приложения ClickOnce с предварительными условиями вы можете указать, где загружаются предварительные условия, локальный или поставщик (например, Microsoft). Если вы укажете поставщика, он не включит в пакет развертывания обязательные двоичные файлы.

Если Crystal не указал удаленное местоположение, вы всегда можете сделать свое собственное предварительное условие, используя генератор манифеста Bootstrapper. Затем вы загрузите двоичные файлы Crystal в место на своем сервере развертывания, создайте свое собственное предварительное условие, используя новый бинарный репозиторий, как сайт поставщика, добавьте пользовательское предварительное условие в приложение clickonce и настройте его для загрузки с сайта поставщиков.

Я считаю, что в VS 2010 у вас есть третий вариант для предварительных условий ClickOnce, где вы можете настроить таргетинг на конкретный сайт, устраняя необходимость в вашем пользовательском предварительном требовании.

Ответ 3

Концептуально, вы делаете это так же, как и некоторое время назад. Единственное, что я сделал по-другому, это развернуть его с сервера сборки вместо моей машины. Честно говоря, мне все равно, сколько времени понадобилось для развертывания, пока оно не прерывает мою машину.

Я использовал CruiseControl.Net для сборки, поэтому, когда пришло время развернуть сборку релизов, я просто отключил бы сборку CC для него, запустил процесс публикации и проверил бы ее через некоторое время.

Ответ 4

Модули слияния Crystal 11.5 для .Net подвержены ошибкам, и это создает проблемы при развертывании через ClickOnce.

В конце концов мы нажали ClickOnce и отправились на установку самораспаковывающегося (Nullsoft Install System), и однажды установил Crystal Redist клиентских ПК.

Кристалл - это кошмар, вы никогда не сможете "исправить его", но вы можете смягчить головные боли.

Ответ 5

Когда у меня возникла эта проблема, я создал отдельный установщик для Crystal Reports. Это имело смысл для меня, потому что у меня было много программ, которые его использовали.

Это сократило клик после развертывания, но системы без префикса столкнулись бы с исключением, поэтому, когда я перенесил все в Visual Studio 2008 и новые Crystal Reports, я начал их включать.

Это занимает больше времени, каждый раз, когда они устанавливаются и обновляются, но в моем случае не стоит беспокоиться о том, как управлять превью и легкостью развертывания.

Ответ 6

Извините, что должен признать, что у меня была аналогичная проблема, и в итоге я придумал подобное решение.

В итоге я встал между двумя стульями, если пользователь не захотел использовать Crystal на своей машине, я предложил возможность получить доступ к веб-сервису, размещенному на сервере с помощью Crystal, чтобы работа могла выполняться удаленно. Если у них был Кристалл, работа была выполнена локально.

Это было не идеально, но, по крайней мере, это было разумно реактивно.