Нажмите один раз откат приложения - PullRequest
5 голосов
/ 29 июля 2010

Возможен ли откат ClickOnce?

Как я могу это сделать?

Загружает ли это приложение все файлы при обновлении?

Как узнать, какие файлы загружены в обновлении?

Ответы [ 3 ]

1 голос
/ 05 августа 2011

Откат
Если вы не укажете минимально требуемую версию, пользователи смогут откатить одну версию через диалоговое окно «Установка и удаление программ». Если вы хотите откатить развертывание на своем сервере, вам нужно использовать все старые файлы с новым номером версии (как сказал @steenhulthin).

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

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

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

1 голос
/ 05 августа 2011

Вы не можете напрямую откатить приложение ClickOnce. Вы можете присвоить старой версии более высокий номер версии и повторно развернуть / опубликовать приложение. См. Также Как выполнить откат clickOnce, если у меня установлена ​​минимальная требуемая версия?

В качестве альтернативы вы можете изменить файл манифеста на стороне сервера, чтобы он указывал на старую версию приложения, как описано здесь: Как откатить приложение ClickOnce?

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

0 голосов
/ 24 сентября 2013

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

  1. Если версия установлена ​​на клиенте = версия развернута на сервере - ничего не делать
  2. Если версия клиента <версия сервера - обновить </li>
  3. Если версия клиента> версия сервера:
    1. Если минимальная версия указана на клиенте> = версия сервера - показать ошибку, как у нас
    2. Если минимальная версия указана на клиенте <версия сервера - понижение </li>
    3. Если минимальная версия не указана на клиенте - понижение
...