Hesperus Crimean (merkyl) wrote,
Hesperus Crimean
merkyl

Полезно. Асинхронное обновление программы на C#

Оригинал взят у habrahabr_ru в Асинхронное обновление программы на C#

Доброго времени суток, друзья!



В предыдущих своих статьях (раз и два) я писал о реализации функции автоматического обновления программы и имея множество недочетов, было принято решение по ее улучшению, а также с целью сделать код более «дружелюбным», что ли. Сокращая строки и оптимизируя формат мне удалось достичь более качественной асинхронной загрузки файлов, практически исключающей вероятность подмены файла обновления (проверка контрольной суммы), а также добавлено несколько новых разработок. Там самым предпринимаю очередную попытку реабилитироваться.



image



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


  • Ionic.Zip.dll — реализация архивирования файлов дебага;

  • LanguagePack.dll — собственная библиотека, содержащая перевод названия элементов формы на нужный язык;

  • Newtonsoft.Json.dll — JSON-библиотека;

  • ProcessesLibrary.dll — своя библиотека, содержащая список процессов;

  • restart.exe — утилита перезапуска основного приложения;

  • updater.exe — утилита обновления основного приложения

  • settings.xml — файл настроек.



В предыдущих версиях кода каждый файл скачивался отдельно, что доставляло массу неудобств, начиная со времени ожидания скачивания. Также отсутствовала функция проверки контрольной суммы, что не очень хорошо сказывалось на безопасности их использования.

Что же такого изменилось в коде, что я решил написать третью статью о все той же истории?

Читать дальше →

Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments