Я ищу информацию для самостоятельного обновления приложения Windows Form. - PullRequest
0 голосов
/ 27 марта 2010

Я бы хотел, чтобы приложение Windows Form самообновлялось при запуске. Где я могу найти хорошую информацию для этого?

Я использую Visual Studio 2008 VB.NET.


Мне нравится подход "щелкни один раз". С помощью этого приложения у меня есть доступ к БД в качестве хранилища данных бэкэнда. Когда приложение само обновляется, как я могу быть уверен, что файл mdb не перезаписан?

Каков наилучший способ самостоятельного обновления базы данных mdb, если это изменение файла mdb, но не потеря данных?

Ответы [ 3 ]

3 голосов
/ 27 марта 2010

Если вы развертываете, используя ClickOnce , вы получаете эту функцию бесплатно. У меня нет опыта (пока), но я могу указать вам на статью .

0 голосов
/ 27 марта 2010

Я написал собственное автоматическое обновление и, в принципе, работает так:

В целом приложение состоит из 3 частей:

  1. Модуль запуска .exe, который по сути похож на загрузчик
  2. Модуль запуска .exe имеет встроенный ресурс .exe, который используется, если необходимо обновить сам файл запуска .exe
  3. Приложение DLL

Когда вы запускаете приложение, запускающее приложение запускается и проверяет через веб-сервисы актуальность DLL. Если это не так, он загружает их во временный каталог, а затем проверяет правильность контрольных сумм и перезаписывает существующие библиотеки приложений новыми. Затем он загружает базовую сборку приложения и вызывает метод «Выполнить» через отражение.

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

0 голосов
/ 27 марта 2010

Я использую Click Once годами с очень небольшими проблемами.

...