2010-07-29 2 views

ответ

1

Вы не можете напрямую откатить приложение ClickOnce. Вы можете дать старой версии более высокий номер версии и повторно развернуть/опубликовать приложение снова. Смотрите также How can I rollback clickOnce if I have a minimum required version?

В качестве альтернативы можно изменить на стороне сервера файл манифеста, чтобы указать на старой версии приложения, как описано здесь: How can I roll-back a ClickOnce application?

Все файлы, описанные в файле манифеста приложения загружаются при обновлении приложения ClickOnce. Файл манифеста приложения содержит информацию обо всех файлах в приложении ClickOnce. Я предлагаю прочитать сайт msdn по адресу ClickOnce deployment.

1

Откат
Если вы не укажете минимальную требуемую версию, пользователи имеют возможность отката один версии с помощью Add/Remove Programs диалога. Если вы хотите отменить развертывание на своем сервере, вам необходимо использовать все старые файлы с новым номером версии (как и @steenhulthin).

0 Скачано
Загрузили только файлы, которые изменились. ClickOnce хэширует все ваши файлы и сохраняет эту информацию в манифесте приложения (один без. Расширение приложения, рисунок). Если общая версия ClickOnce является более новой на сервере, чем на клиенте, она затем сравнивает отдельные хэши файлов, чтобы узнать, что нужно загрузить.

Какие файлы скачиваются
Чтобы увидеть, какие файлы будут загружены, используйте Fiddler. Он захватывает и отображает HTTP-трафик и является чистым. Узнать его. Используй это. Любить это.

Просто лишний совет. Если вы используете Visual Studio для публикации, остановитесь. Использование такого инструмента, как Mage, требует больше усилий, но это помогает понять, что на самом деле делает heck ClickOnce. Когда он закипит, на самом деле это не так много. Использование мастера публикации Visual Studio делает его похожим на черную магию.

0

Я понимаю, ClickOnce проверки версии Algorythm следующим образом:

  1. Если версия установлена ​​на клиенте = версия развернута на сервер - не делать ничего
  2. Если версия клиента версия < сервера - обновление
  3. Если версия клиента> серверная версия:
    1. Если MinimumVersion указано на клиенте> = версия сервера - показать ошибку, как у нас есть
    2. Если m inimumVersion указанная на клиент < версии сервера - понижают
    3. Если minimumVersion не указан на клиенте - понижение
Смежные вопросы