Przez lata wielu użytkowników zakładało, że Windows 95 rozpoznawał instalatory programów dzięki zaawansowanym mechanizmom systemowym. Okazuje się jednak, że rzeczywistość była znacznie prostsza. Raymond Chen, wieloletni inżynier Microsoftu i autor bloga The Old New Thing, ujawnił, że system operacyjny z 1995 roku podejmował decyzję na podstawie… nazwy pliku.
Jeżeli plik wykonywalny zawierał odpowiednie słowo, Windows uznawał go za instalator i uruchamiał specjalny mechanizm ochrony systemu. Całość opierała się na prostym dopasowywaniu kilku wyrazów, a nie na analizie działania programu.
Kilka słów w nazwie pliku wystarczało
Chen wyjaśnił, że Windows 95 sprawdzał nazwę uruchamianego pliku wykonywalnego. Jeśli znalazł w niej fragmenty takie jak „setup”, „install” lub „inst”, automatycznie zakładał, że użytkownik właśnie instaluje nowe oprogramowanie.
Na liście znajdowały się również odpowiedniki z kilku innych języków: włoskie „imposta”, tureckie „ayarla” oraz węgierskie „felrak”. Sam Chen przyznaje, że nie zna pełnej historii dodania tych nazw i przypuszcza, że miały one obsługiwać lokalne wersje systemu.
Ciekawostką pozostaje obecność zarówno słowa „install”, jak i krótszego „inst”. Zdaniem inżyniera pełna wersja jest praktycznie zbędna, ponieważ każda nazwa zawierająca „install” zawiera również „inst”. Najprawdopodobniej wpis został dodany na późniejszym etapie rozwoju systemu, a wcześniejszego już nie usunięto.
Jeśli nazwa programu zawiera słowo „setup”, „install” lub inne magiczne słowa, jest on uznawany za program instalacyjny - napisał Chen na blogu.
System próbował ratować użytkowników przed źle napisanymi instalatorami
Tak nietypowa metoda nie była przypadkiem. Microsoft zmagał się w tamtym czasie z ogromnym problemem dotyczącym jakości oprogramowania tworzonego przez zewnętrznych producentów.
Instalatory często nadpisywały pliki systemowe bez sprawdzania ich wersji. Zdarzało się, że nowoczesne biblioteki Windows 95 były zastępowane starszymi wersjami przeznaczonymi jeszcze dla Windows 3.1. Efekt był łatwy do przewidzenia — aplikacje przestawały działać, a system stawał się niestabilny.
Microsoft postanowił więc stworzyć zabezpieczenie działające w tle. Windows wykonywał kopie najważniejszych plików systemowych, pozwalał instalatorowi zakończyć pracę, a następnie sprawdzał, czy któreś z bibliotek nie zostały zastąpione starszymi wersjami. W razie wykrycia problemu system automatycznie przywracał właściwe pliki.
Windows nie zawsze trafiał z diagnozą
Cały mechanizm miał jednak jedną poważną wadę. Opierał się wyłącznie na nazwie programu. Jeżeli instalator posiadał nietypową nazwę i nie zawierał żadnego z zapisanych słów, Windows nie uruchamiał procedury zabezpieczającej. Z kolei zwykła aplikacja nazwana przykładowo „instant.exe” mogła zostać błędnie uznana za instalator tylko dlatego, że zawierała fragment „inst”.
Microsoft próbował ograniczyć liczbę pomyłek. Gdy pierwszy test nie dawał rezultatu, system sprawdzał również, czy słowo „Setup” występuje w ścieżce prowadzącej do pliku wykonywalnego. Dodatkowe kontrole pojawiały się także podczas instalacji sterowników multimedialnych korzystających z plików INF.
Naprawa często czekała aż do ponownego uruchomienia komputera
Chen przypomina, że wiele instalatorów z połowy lat 90. nie potrafiło zastąpić plików używanych przez system. W takich sytuacjach komputer uruchamiał się ponownie w środowisku MS-DOS, wykonywał przygotowany wcześniej plik wsadowy, podmieniał biblioteki i dopiero później wracał do Windows.
Z tego powodu mechanizm naprawczy bardzo często działał dopiero po restarcie komputera. Dopiero wtedy system mógł sprawdzić wszystkie zmiany i przywrócić właściwe wersje bibliotek zapisane wcześniej w ukrytym katalogu C:\Windows\SYSBCKUP.
Windows 2000 zakończył erę zgadywania
Microsoft ostatecznie porzucił tę metodę wraz z premierą Windows 2000. Firma wprowadziła wtedy mechanizm Windows File Protection, który monitorował zmiany chronionych plików systemowych bez analizowania nazw uruchamianych programów.
Usługa Winlogon śledziła modyfikacje plików i w razie potrzeby automatycznie odtwarzała je z katalogu %WinDir%\System32\dllcache. Później rozwiązanie rozwinięto w Windows ME, a następnie zastąpiono Windows Resource Protection obecnym od czasów Windows Vista.
To właśnie z tej technologii wywodzi się znane do dziś polecenie sfc /scannow, wykorzystywane przez użytkowników Windows 11 do naprawiania uszkodzonych plików systemowych.
Spodobało Ci się? Podziel się ze znajomymi!

Pokaż / Dodaj komentarze do:
Windows 95 „zgadywał”, że uruchamiasz instalator. Microsoft ujawnił zaskakujący sekret sprzed 30 lat