Развертывание ClickOnce с обязательным требованием Crystal Reports - PullRequest
11 голосов
/ 27 июня 2009

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

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

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

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

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

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

Ответы [ 6 ]

6 голосов
/ 08 декабря 2009

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

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

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

3 голосов
/ 15 декабря 2009

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

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

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

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

Надеюсь, это поможет. Спасибо

0 голосов
/ 08 декабря 2009

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

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

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

0 голосов
/ 20 ноября 2009

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

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

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

0 голосов
/ 30 октября 2009

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

Мы в конечном итоге отказались от ClickOnce и пошли на самораспаковывающуюся установку ( Nullsoft Install System ) и установили разовый Crystal Redist на клиентских ПК.

Кристалл - это кошмар, вы никогда не можете «сделать это правильно», но вы можете уменьшить головную боль.

0 голосов
/ 27 июня 2009

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

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

...