Обновление приложения во время работы без вывода сообщений - PullRequest
3 голосов
/ 18 ноября 2010

Мое приложение будет первоначально развернуто с помощью установщика Windows.

Ключевые характеристики решения, которое я ищу, включают:

  • Поддержка автоматического обновления во время работы приложения (или автоматического перезапуска клиента)

  • Простой в обслуживании и управлении процесс упаковки

  • Избегайте сложных настроек или сценариев установки

У вас есть какие-либо идеи о том, как можноЯ достиг этого?Даже если это означает изменить код приложения для поддержки любой идеи.

Приложение - это .net 2.0

Ответы [ 3 ]

5 голосов
/ 18 ноября 2010

Рассматривали ли вы использование ClickOnce для развертывания?У него есть возможность программно проверять наличие обновлений и при необходимости принудительно устанавливать их - см. http://msdn.microsoft.com/en-us/library/ms404263.aspx

2 голосов
/ 18 ноября 2010
  • Вы можете молча обновить свое приложение с помощью Менеджер перезапуска (доступно в Vista и Win7).
  • Не забывайте, что пользователь не всегда администратор. Начиная с Vista, если вы подпишете пакет установщика Windows, вы сможете обновить приложение, не требуя прав администратора от текущего пользователя.
  • Чтобы все это работало, вам нужно установить приложение с использованием технологии установщика Windows. Вы можете использовать Wix , чтобы создать файл XML и скомпилировать его в пакет MSI. Wix прекрасно интегрируется с VS.
1 голос
/ 18 ноября 2010

Proxy Design Pattern поможет вам достичь этого, в то время как этот шаблон используется для плагинов.

Другое краткое объяснение приведено с Gang of Four - Proxy Design Pattern.

Наблюдение за Shadow Copying сборок, безусловно, полезно для хитрости, поскольку вы копируете свою обновленную сборку в папку сборок приложения, а затем вы можете уведомить ваше приложение об измененияхзатем выгрузите старую сборку и загрузите новую, чтобы изменения вступили в силу, то есть даже без перезапуска приложения, и это будет абсолютно прозрачно для конечного пользователя.

Более простоподходом может быть ClickOnce Deployment, о котором вам, возможно, будет интересно прочитать, перейдя по предложенной ссылке.

...