Приложения.NET автоматического обновления [дубликат]

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

    // Import this in componnet where your are updating the values
    import { ChangeDetectorRef } from '@angular/core'; 
    constructor(private cd: ChangeDetectorRef) {}


    //call below method after you changes
    this.cd.detectChanges();
27
задан Aleksandar Vucetic 4 May 2009 в 10:56
поделиться

6 ответов

Лично я использую очень простую методологию для любого вида автообновления :

  • Имейте установщик
  • Проверьте новую версию (простой WebClient и сравните числа с вашим текущим AssemblyVersion)
  • Если версия выше, загрузите последнюю версию установщика (должна быть поверх SSL по соображениям безопасности)
  • Выполнить скачайте установщик и закройте приложение. (на этом этапе вам необходимо иметь права администратора, если ваш установщик требует, чтобы вы были администратором)

Установщик должен позаботиться обо всем остальном. Сюда ты Всегда будет последняя версия и установщик с последней версией.

35
ответ дан 28 November 2019 в 04:28
поделиться

ClickOnce для инструментов администратора.

3
ответ дан 28 November 2019 в 04:28
поделиться

We investigated a handful of options and decided to use the AppLife Update library for our enterpise project.

AppLife Update can quickly and easily add auto update functionality for your .NET apps but is also flexible because of it's comprehensive API.

See the full list of features and some demo videos on their website.

2
ответ дан 28 November 2019 в 04:28
поделиться

Для простых приложений WPF, которые могут использовать установку Xcopy, вы можете использовать этот модуль AppUpdater . Это один исходный модуль, всего несколько строк кода, чтобы добавить возможность обновления в простое приложение WPF.

Это бесплатно.

1
ответ дан 28 November 2019 в 04:28
поделиться

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

  • Средство обновления с открытым исходным кодом , wyUpdate , написанный на C # [лицензия BSD]
  • Элемент управления AutomaticUpdater с открытым исходным кодом , который вы можете просто добавить в форму вашего приложения .NET [лицензия LGPL]
  • wyBuild используется для создания патчи и управление вашими версиями

wyUpdate решает все проблемы UAC в Vista / Windows 7 и все проблемы с правами доступа к файлам, которые неизбежно возникают, когда вы пытаетесь обновить сложное программное обеспечение.

Мы также предлагаем бесплатных лицензий на wyBuild для проектов с открытым исходным кодом , но если вы просто хотите создать собственное средство обновления, вы можете свободно использовать наш исходный код.

При этом, если вы хотите создать свою собственную программу обновления, вот несколько советов:

Создание собственной программы обновления

Хорошим местом для начала является wyUpdate и AutomaticUpdater исходный код, который я упоминал выше. Вы можете каннибализировать его и использовать в своих целях. Некоторые из алгоритмов, которые он содержит:

  • Полная поддержка UAC в Windows Vista / Windows 7
  • Возможность для ограниченных пользователей проверять, а затем обновлять, есть ли у них учетные данные.
  • Поддержка нестабильного корпоративного Интернета.(Если вы когда-либо работали с корпорацией, это настоящая проблема).
  • Быстрое извлечение, исправление и установка файлов.
  • Поддержка реестра.
  • Откат файлов и реестра при ошибке или отмене пользователем
  • Самостоятельное обновление (файлов не осталось)

У нас также есть спецификации файлов здесь .

Автоматическое обновление

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

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

Это позволяет отделить средство обновления от вашего приложения.

Фактически, точный код C # именованных каналов, который мы используем, включен в статью, которую я написал недавно: Многопроцессорное приложение C #, такое как Google Chrome .

27
ответ дан 28 November 2019 в 04:28
поделиться

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

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

Холодные обновления (требующие перезапуска приложения) также поддерживаются и выполняются автоматически, если для задачи не указана «горячая замена».

Это сводится к одной DLL размером менее 70 КБ.

Более подробная информация на http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/

Код находится на http: //github.com/synhershko/NAppUpdate (Под лицензией Apache 2.0)

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

Автообновление служб WCF и веб-сайтов ASP.NET должно быть возможно с этим, используя «горячую замену» файлов и задачу «iisreset» там, где это необходимо.

6
ответ дан 28 November 2019 в 04:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: