Кто-нибудь использует технологию ClickOnce для распространения приложений в производстве? - PullRequest
2 голосов
/ 19 августа 2010

Я пытался использовать установку ClickOnce 2 года назад, и у меня были проблемы с:

  • приложение не удалось запустить из-за ошибок
  • ограниченный доступ к файловой системе

Позже я увидел, что Google Chrome использовал ClickOnce для локального получения установочного пакета и запуска реальной установки.

Можно ли иметь с ClickOnce возможность загружать файлы с сервера и сохранять локально?

Ответы [ 2 ]

4 голосов
/ 19 августа 2010

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

Кроме того, проблема с изменением сертификата подписи была исправлена ​​в .NET 3.5 при использовании автоматических обновлений и настольного приложения (не для VSTO), и исправлена ​​во всех случаях в .NET 4. И для этих случаев есть обходные пути где это все еще проблема.

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

Если у вас есть приложение ClickOnce и у вас возникают ошибки при запуске, вам нужно попробовать запустить [exe] из кэша ClickOnce и определить, есть ли проблема в вашем приложении или при развертывании.

Я не уверен, что вы имеете в виду, когда скачиваете ClickOnce с сервера и сохраняете файлы локально. Если вы имеете в виду само развертывание, оно делает это. Если вы имеете в виду, может ли он загружать файлы из другого места и сохранять их локально, уверен, что может. Наше приложение использует WebClient для загрузки и скачивания файлов.

Обратите внимание, что приложение ClickOnce устанавливается не для всех пользователей, и вы не можете писать в Program Files. Если вы используете дополнительные файлы, вам нужно поместить их в LocalApplicationData. Наше приложение создает кэш в папке LAD и сохраняет там информацию, и это прекрасно работает для нас.

2 голосов
/ 19 августа 2010

Мы использовали ClickOnce в прошлом, но отказались от него. Наличие сертификата было проблемой, и когда мы заменили сервер, на котором он был размещен, он сломался, и нам пришлось удалить со всех наших клиентов и переустановить как новое приложение с новым сертификатом. НО на ваш вопрос ...

ClickOnce можно развернуть стандартным способом (веб-сервер) на сетевом ресурсе или компакт-диске. Однако, если вы хотите избежать проблем, не используйте ClickOnce. Загрузка файлов на рабочий стол и их установка не позволяют выполнить эту задачу.

Создайте MSI с помощью обычного проекта установки и опубликуйте его в Интернете. Пользователи могут скачать его и запустить установку просто отлично. (Возможно, им придется разблокировать его, если Windows блокирует его, потому что он поступает из ненадежного источника.)

...