В ходе недавней беседы бывший инженер-программист Microsoft Рэймонд Чэнь (Raymond Chen) поделился историей о том, как Windows 95 противостояла сторонним разработчикам, чьи приложения заменяли системные файлы устаревшими версиями, что вызывало неполадки — операционная система просто сохраняла резервные копии текущих файлов.
Источник изображения: Bernd Dittrich / unsplash.com
Ряд игр и приложений поставлялся вместе с системными библиотеками, которые входили в состав их установочных пакетов. Microsoft советовала авторам подобного программного обеспечения проверять, присутствуют ли эти файлы и каковы их версии в уже установленной Windows 95, и обновлять их, если в дистрибутиве предлагалась более свежая редакция. Однако на деле эта рекомендация часто игнорировалась: многие инсталляторы не соблюдали данное правило и помещали в систему устаревшие версии критически важных файлов, что влекло за собой различные ошибки в работе ОС.
В результате Microsoft пришлось прибегнуть к решительным мерам — сохранять резервные копии тех системных файлов, которые чаще всего перезаписывались небрежными разработчиками, в скрытой директории «C:WindowsSYSBCKUP». Таким образом, после завершения работы установщика Windows 95 самостоятельно анализировала, не были ли заменены какие-либо системные компоненты. Проблему можно было бы устранить, ограничив права инсталляторов, но в Microsoft отказались от этого подхода, поскольку он приводил к сбоям в работе некоторых установочных программ и появлению сообщений об ошибках. Наиболее упорные разработчики даже применяли различные уловки, например, перезагружали компьютер и массово копировали необходимые файлы с помощью исполняемого скрипта.
В Microsoft выбрали стратегию, согласно которой Windows 95 позволяла установщикам выполнять свои задачи, а затем незаметно восстанавливала повреждённые элементы. Позднее отдельные компоненты стали распространяться со своими собственными инсталляторами, и разработчики начали включать их в свои продукты именно в такой форме.