"Идея обновить новую версию приложения на клиентской машине"

Я прочитал двоичные данные с сервера БД с помощью WCF, создал zip-файл с содержимым, извлек файлы и обновил папку bin нашего приложения.

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

Может ли кто-нибудь дать мне идею для проверки этого процесса?

Есть ли у нас какие-либо идеи контрольной суммы ..

1
malik 27 Янв 2010 в 16:26
Вероятно, вы получите лучшие ответы, если примете некоторые из ответов, данных в предыдущих вопросах. Некоторые собственные усилия также будут оценены.
 – 
Jan Jongboom
27 Янв 2010 в 16:32
1
Рассматривали ли вы возможность использования ClickOnce?
 – 
Kane
27 Янв 2010 в 16:33

2 ответа

Что ж, если вы используете SharpZipLib для заполнения zip-файла, в ZipFile есть метод TestArchive. объект, который проверит целостность архива и сообщит вам, действителен ли он.

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

1
Shimrod 27 Янв 2010 в 16:36

Сохраните на сервере / в Интернете самую последнюю версию проекта, которая находится в сети. например: в файле version.txt укажите значение «2.1.0» или запросите базу данных, если у вас тоже есть доступ.

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

  • Если обнаружен патч или второстепенный выпуск, например 2.1.123, запускается второе приложение (updater.exe), которое незаметно
    • выполнить обновление,
    • он должен загрузить обновленный (предпочтительно заархивированный) проект с сервера / из Интернета.
    • Остановите все запущенные экземпляры.
    • Распаковка содержимого.
    • Резервное копирование существующих файлов (переименование)
    • скопируйте / установите новую версию проекта,
    • Запустите приложение (при успешном перезапуске приложение удалит собственный файл резервной копии).
  • если обнаружен основной выпуск, например: 3.0.0
    • уведомляет пользователя о крупном обновлении
    • если пользователь соглашается, загрузите установщик.
    • запускает полное обновление установщика.

Это помогает?

0
Pentium10 27 Янв 2010 в 16:37