Skocz do zawartości


Close Open
Close Open
Zdjęcie
- - - - -

Tajemnice folderu WINSXS w systemie Windows Vista


  • Please log in to reply
No replies to this topic

#1 Quadro

Quadro

    Modern Life

  • Forumowicze
  • PipPipPipPipPipPipPipPip
  • 28280 Postów:

Napisany 29 maj 2009 - 11:51

Pewnie większość uzytkownikow systemu Microsoft Windows Vista zauważyła w katalogu systemowym katalog o dość pokaźnej wielkości o nazwie Winsxs. Znajduje sie on C: \ Windows \ Winsxs.
Co dziwniejsze ten folder w systemie Windows XP zajmuje nie więcej niz 50 MB. A np u mnie w Viscie zajmuje w tej chwili około 18 GB

Co wiec znajduje się w tym folderze?
W folderze Winsxs , system przechowuje wiele kopii biblioteki DLL, co pozwola na uruchomienie wielu aplikacji Windows bez żadnych problemów związanych z kompatybilnością. Przeglądając pliki wewnątrz katalogu winsxs zobaczymy wiele duplikatów plików dll o tej samej nazwie. Są to w rzeczywistości rożne wersje tych samych plików, które sa magazynowane na wypadek gdyby programy wymagały rożnych wersji plików do swojego działania. W uproszczeniu można powiedzieć ze katalog winsxs jest dokładna kopia plików systemowych. To tak jakby drugi Windows

Dodaj obrazek

Jak widać z obrazka powyżej katalog backup jest największym katalogiem w winsxs
Rodzaje plików jakie tam sie znajdują widać na obrazku poniżej. Znowu największa przestrzeń zajmuje folder "inne" ktory zawiera m.in. pliki IMD. NGR. CSD. Dll,. Dll.mui. Exe i wiele innych typów plików

Dodaj obrazek

W Viście nie ma dllcache oraz folderu i386 w którym system buforuje pliki. Źródłem wszystkich modułów jest właśnie katalog winsxs. Pliki mogą byc w wielu wersjach tego samego programu

Dlaczego system przechowuje tyle równych wersji tego samego pliku?
System przechowuje starą bibliotekę DLL w katalogu winsxs. Gdy nowsza wersja wersja pliku dll jest składnikiem systemu, ale program do prawidłowego działania potrzebuje starszej wersji tego pliku to właśnie system przetrzymuje tą wersje w tym katalogu aby zapewnić wsteczną kompatybilność i poprawne działanie tego programu.
Oczywiście nie można usunąć ani przenieść katalogu winsxs. Nie jest również wskazane usuwać cokolwiek z tego katalogu. Taka operacja mogla by doprowadzić do problemów z uruchomieniem aplikacji jak również do ogólnego crashu systemu.
Oczywistym jest również ze jeśli mamy dużo programów to wielkość katalogu winsxs będzie przybierała gigantyczne rozmiary. Wiec lepiej już w momencie instalacji systemu Vista zadbać o duża wielkość partycji systemowej.

Jeśli usuniemy z katalogu jakieś manifesty to możemy byc w kłopocie. W zasadzie każdy system reaguje inaczej. Jeden może działać prawidłowo a inny może już sie nie uruchomić. Kompresowanie katalogu winsxs również jest niewskazane ponieważ mogą wystąpić problemy podczas update programów i systemu czy tez instalowania poprawek.

Najbezpieczniejszym sposobem na zmniejszenie wielkości tego katalogu jest odinstalowanie programów których nie używamy, choć nie mamy pewności ze wielkość katalogu zmniejszy sie w zauważalny sposób ponieważ wiele aplikacji dzieli miedzy sobą wiele bibliotek tak wiec odinstalowanie jednej aplikacji wcale nie musi oznaczać ze biblioteki znikną z katalogu.

Tak wiec pozostawienie bibliotek w katalogu winsxs gwarantuje nam ze nie będziemy mieć problemów z kompatybilnością aplikacji

Informacja dodatkowa z blogu Engineering Windows 7 ( http://blogs.msdn.co...disk-space.aspx )
Bo chyba nikt nie wątpi ze Windows 7 nie rożni się w konstrukcji od Visty :)

System Windows Vista został zaprojektowany jako system modularny. Trzeba było rozwiązać szereg problemów z dziedzictwem poprzednich wersji systemu Windows takimi jak instalacja programów, obsługa i niezawodność. Katalog winsxs reprezentuje instalacje i obsługę wszystkich elementów systemu
W rzeczywistości katalog ten nie zajmuje tyle miejsca ile pokazują narzędzia do mierzenia zajmowanej przestrzeni dyskowej (DIR, Explorer) . W praktyce każdy plik w katalogu winsxs jest "twardym linkiem" do fizycznego pliku znajdującego sie w innym miejscu systemu. Czyli faktycznie pliki te nie znajdują sie w tym katalogu. Na przykład w katalogu winsxs może być plik o nazwie Advapi32.dll zajmujący około 700kB co jest zgłaszane jako twardy link do fizycznego pliku znajdującego się w katalogu Windows \ System32. A patrząc na to co pokazuje eksplorator plik ten będzie liczony podwójnie lub więcej razy

Istnieje wiele informacji na stronach internetowych a nawet narzędzi które służą do czyszczenia czy nawet usuwania katalogu winsxs i prawda jest tez ze system po takim zabiegu może działać prawidłowo. Ale to bardzo złe praktyki, bo istnieje bardzo duże ryzyko ze zainstalowane programy czy nawet cały system przestana nam sie uruchamiać, a w najlepszym przypadku stracimy możliwość aktualizacji programów i systemu

Wątek powstał na podstawie artykułu: The Secret Of Windows Vista Winsxs Folder. http://www.winvistaclub.com/f16.html

P.s. Mam nadzieje ze tłumaczenie jest w miarę prawidłowe :)
Sony Vaio VGN-NW21SF




0 Użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników