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