Це філософське питання.
Враховуючи гіпотетичну програму для настільних ПК та бажання надавати автоматичні оновлення (а не змушувати людей відвідувати веб-сайт, перевіряти наявність оновлень, завантажувати оновлення, встановлювати), хто з двох є більш підходом "найкращої практики"?
Як і iTunes , він перевіряє, чи є нова версія, і спонукає користувача завантажити нову версію. Якщо це так, він завантажує повний виконуваний файл встановлення (у цьому випадку файл інсталятора Windows (.msi)), який встановлює повну версію (не лише оновлення до попередньої версії - занадто багато для управління, якщо там є кілька версій) . Так, скажімо, це версія 10.1.1 - ви встановлюєте свіжу чи модернізуєте, ви використовуєте той самий файл. Після завантаження він доручає користувачу закрити програму та запустити інсталяційний файл самостійно.
Подібно до іншої, він перевіряє наявність нової версії та спонукає користувача завантажити її, але замість того, щоб просто завантажити виконуваний файл і спонукати користувача запустити його, він фактично запускає його для них - вимкнення відкритої ними програми, придбання необхідна безпека для встановлення файлів.
Проблеми з №2: багато проблем із закриттям програми, оскільки програма може відкривати інші програми ( Outlook та Excel ) або що робити, якщо користувач опинився в середині чогось. Крім безпеки, для встановлення потрібен доступ до місцевого адміністратора, а якщо його у вас немає? У пізніших версіях Windows не можна просто перекрити безпеку людини.
Проблеми з №1: деякі люди вважають, що це буде занадто важким, занадто багато зусиль для кінцевого споживача.
Я настійно вважаю за краще піти з №1, оскільки це дозволить заощадити 80-120 годин на моєму проекті, а його простіше втілити та підтримувати. Однак у нас є люди, які сильно почуваються з усіх боків.
Яка найкраща практика для подібних речей?