2010-01-27 2 views
1

«Идея обновить новую версию приложения на клиентской машине»Validate Процесс загрузки

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

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

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

У нас есть идея, контрольная сумма ..

+0

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

+1

Считаете ли вы использование ClickOnce? – Kane

ответ

1

Ну, если вы используете SharpZipLib раздувать файл почтового индекса, есть метод TestArchive на объекте ZipFile, что будет делать проверку целостности архива, и сказать вам, если это действительно.

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

0

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

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

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

Помогло ли это?