Лучшая процедура для обновления моего exe, работающего в качестве службы Windows - PullRequest
0 голосов
/ 19 октября 2019

Я провел большое количество исследований по процедуре обновления для моего exe-приложения, работающего в качестве службы Windows. Я в основном использую Inno Setup и мой exe. Я ищу лучший способ обновить мой exe. Вот моя текущая процедура:

Innosetup.exe содержит два exe. Mainapp.exe и Updater.exe

1.) Innosetup.exe is executed on the endpoint, creates directories, registry keys, etc.
2.) It registers Mainapp.exe as a service and starts it. (Note that Updater.exe is not registered as a service or started)
3.) Mainapp.exe starts its main loop and checks the server for an update. If theres a update it launches the Updater.exe
4.) Updater.exe contacts the webserver and downloads the new_Innosetup.exe file and saves it to disk 
5.) Updater.exe executes new_Innosetup.exe
6.) new_Innosetup.exe stops Mainapp.exe, renames the exe to Mainapp.exe_old and then installs the updated Mainapp.exe. Also updates all the registry keys.
7.) Updater.exe checks if everything is healthy and then exits

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

Имеет ли смысл эта процедура обновления и что я могу изменить / улучшить, чтобы гарантировать, что обновление не нарушит работу приложения?

Спасибо

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