Ветеран и инженер программного обеспечения компании Microsoft Рэймонд Чен вспомнил процесс создания операционной системы Windows 95, рассказывая о том, Воспоминания о разработке Windows 95 от Рэймонда Чена
Разработка Windows 95: воспоминания ветерана Microsoft
Рэймонд Чен, инженер Microsoft, поделился опытом разработки Windows 95 и проблемами с установщиками программ.
Инженер программного обеспечения и ветеран компании Microsoft Рэймонд Чен вспомнил о процессе создания операционной системы Windows 95 в серии своих статей под названием Old New Thing. Он рассказал, как система сталкивалась с проблемами, вызванными недобросовестными установщиками программного обеспечения. Во время тестирования Windows 95 система подвергалась суровым испытаниям, и даже кассовые аппараты выходили из строя, если на них запускали программы, сумма которых превышала 10 000 долларов.
После релиза ключевой проблемой стали сторонние установщики, которые модифицировали важные системные файлы, понижая их версии. В то время многие файловые компоненты были доступны для распространения, что позволяло установщикам включать их в свои пакеты. Ожидалось, что разработчики программ будут соблюдать правила и проверять версии файлов, заменяя их только на новые. Но многие игнорировали это требование, просто перезаписывая актуальные файлы старыми версиями, что вызывало сбои в работе операционной системы.
Чтобы эффективно справиться с этой ситуацией, инженеры из Microsoft разработали алгоритм защиты. Они решили хранить резервные копии часто изменяемых файлов в скрытой папке C:\Windows\SYSBCKUP. После завершения установки система проводила тихую проверку изменений в важных компонентах. Если новая версия файла была новее, обновленная версия копировалась в резервную папку. В случае замены файла на более старую версию, Windows 95 восстанавливала актуальную копию из скрытого каталога.
Рэймонд Чен отметил, что ограничение прав для сторонних приложений выглядело бы более простым решением, но могло привести к множеству ошибок и проблем. Многие разработчики использовали обходные пути, такие как перезагрузки системы и пакетные скрипты, чтобы игнорировать эти запреты. В конечном итоге Microsoft приняла решение позволить установщикам выполнять свою работу, после чего система без видимого вмешательства проверяла и восстанавливает поврежденные файлы. Постепенно начали появляться компоненты с безопасными установщиками, что помогло программистам избегать прямого копирования системных файлов.