Я хочу безболезненно развернуть приложение с включенным автообновлением.Однако я вынужден использовать установщик MSI для различных целей.Мы развернем приложение Windows Forms и пакет служб Windows.
Мне очень понравилось, как вы можете нажать несколько кнопок на вкладке публикации и развернуть их на веб-сервере с файлами .application
и .manifest
.Теперь я могу публиковать изменения, но не могу автоматически их принять.Я сам пытаюсь написать автозагрузчик.
- Сравнить
.application
файлы (локальные и удаленные),V1FBG6P353V5CT4JofOCwe0opeA =) - Если хэши разные, загрузите соответствующий файл с расширением
.deploy
во временный путь
Теперь для Windows Forms Я мог бы написать какой-нибудь AppStarterкоторый запустит основное приложение и завершит работу основного приложения при обнаружении обновлений, перезапишет все загруженные EXE-файлы и DLL-файлы и перезапустит приложение.
Для службы Windows я хочу дождаться завершения основного цикла(цикл запускается таймером), а затем остановите таймер и примените обновления.Как?
У этого очень общего алгоритма должны быть подводные камни (о чем говорит моя интуиция), о которых я не знаю, и по этой причине я публикую этот вопрос.Что может пойти не так и когда?Как вы думаете, структура XML останется неизменной во времени (по крайней мере, в зависимости от существующих тегов)?
Я также загрузил .NET Application Updater .Просто я сам должен формировать XML-файлы и не уверен, позволит ли он работать со службами Windows.