Как реализовать не подверженное коррупции самообновляющееся приложение - PullRequest
0 голосов
/ 04 января 2011

Каков наилучший способ обновить приложение до новой версии? Подробности:

  • Это автономное приложение Windows WPF / C #, работающее в .NET 3.5.
  • Приложение автоматически запускается при загрузке Windows.
  • Приложение работает на ПК с сенсорной панелью без доступа к сети / Интернету.
  • Пользователь не имеет доступа к Windows и не имеет клавиатуры (думаю, киоск)
  • Новая версия приложения может быть установлена ​​с USB-накопителя. Пользователь получит доступ к кнопке «обновить программное обеспечение», которая ищет новые версии программного обеспечения на флэш-накопителе и автоматически обновляется.

Я думал о том, чтобы закрыть приложение, а затем запустить программу закрытия при закрытии. Мне просто нужно избегать случая, когда новая установка прерывается, приложение повреждено, и киоск больше не используется. Есть ли у установщиков Windows защита от этого сценария?

Заранее спасибо!

1 Ответ

1 голос
/ 04 января 2011

В этом случае, пожалуй, лучший способ сделать это - создать новую папку, извлечь из нее новую версию, а затем, наконец, переименовать две папки и после их замены удалить старую версию.Переименования должны быть атомарными, чтобы старая версия не затрагивалась до завершения обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...