Zagadka – jak odczarować GAC?

33

Co się stanie, gdy klikniemy po kolei: Start -> Mój komputer -> C:\ -> windows -> assembly ? No jasne – zobaczymy zawartość GAC:

Jak zedrzeć ten tajemniczy, dziwny wygląd z owego katalogu? Na przykład – używając Total Commandera. Można jednak sprawić, by i w zwykłym windowsowym exploratorze katalog stracił swą magię:

No i to jest właśnie zagadka – jak to osiągnąć? Jak zrobić, katalog assembly nie był już takim “cfaniakiem“? Podpowiem, że w tym celu schodzimy tam, gdzie najcieplej…
Kiedyś za rozwiązanie zagadki oferowałem uśmiech prezesa, jednak teraz, z braku pomysłu, nagrodą niechaj będzie zwykła satysfakcja – i moja i chwalebnego komentatora znającego odpowiedź:).


UPDATE 03/04/2008 Dzięki wszystkim za zainteresowanie. Odpowiedzi, której oczekiwałem, udzielił pgi – chodzi mianowicie o modyfikację rejestru tak jak na rysunku (dodanie różnej od zera DWORD_VALUE o nazwie DisableCacheViewer do klucza HKLM\Software\Microsoft\Fusion):

Jednak w komentarzach, ło-ho-ho, można znaleźć także inne rozwiązania.

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Tym samym wyrażasz zgodę na otrzymanie informacji marketingowych z devstyle.pl (doh...). Powered by ConvertKit
Share.

About Author

Programista, trener, prelegent, pasjonat, blogger. Autor podcasta programistycznego: DevTalk.pl. Jeden z liderów Białostockiej Grupy .NET i współorganizator konferencji Programistok. Od 2008 Microsoft MVP w kategorii .NET. Więcej informacji znajdziesz na stronie O autorze. Napisz do mnie ze strony Kontakt. Dodatkowo: Twitter, Facebook, YouTube.

33 Comments

  1. Otwieramy ten folder w Total Commanderze i np. zmieniamy rozszerzenie pliku Desktop.ini na np. bak

  2. Dodatkowe założenie "w domyśle" – mamy do dyspozycji tylko goły Windows, bez wspomagaczy w postaci TC. Poza tym na screenie jest Desktop.ini – jego zawartości ani nazwy nie ruszałem:).

  3. Może dać mu buzi, potrzeć albo grzecznie poprosić?

    Tak na poważnie, znacie lepszą/szybszą/prostszą metodę, niż wyłączenie kłopotliwego rozszerzenia powłoki w rejestrze?

  4. kazikkuta on

    czysty windows, a na drugim obrazku rzeczywiście jest podpowiedź ;)

  5. Dziwna sprawa ;p W Viscie w katalogu C:\Windows\ nie ma katalogu Assembly, a plik Assembly, ktory jest jakby katalogiem ;) Bo przy innych normalnych folderach jest napisane ‘Folder plikow’ a przy Assembly jest napisane ‘Plik’ ;]

  6. Witam. Wystarczy wpisać ‘C:\Windows\Assembly\gac’ i dać katalog wyżej ;)

    pozdrawiam

  7. HKLM\Software\Microsoft\Fusion\
    dodać wartość DWORD DisableCacheViewer i ustawić na 1
    :)

  8. @tom, u mnie w Viście działa metoda zaproponowana przez SarmaXa, ale tylko pod warunkiem, że użyjemy "secret handshake" uruchamiając eksplorator. Ów tajemniczy gest polega na wpisaniu "C:\Windows\assembly\GAC" w oknie "Uruchom" lub w polu wyszukiwarki po rozwinięciu menu "Start". Inaczej mówiąc, jeśli otworzyliśmy eksplorator od razu w folderze wewnątrz GAC, możemy się cofnąć i odsłonić prawdziwą zawartość folderu assembly. W innym przypadku, np. próbując nawigować do tego któregoś z wewnętrznych folderów z poziomu paska adresu, system zwróci informację, że nie ma takiej lokalizacji w systemie plików.

  9. Jest jeszcze jedna opcja tzn. rename pliku:
    %windir%\Microsoft.NET\Framework\v2.0.50727\shfusion.dll

  10. @tom, kazik:
    Przyznam szczerze że nie wiem co macie na myśli pisząc o podpowiedzi na drugim obrazku:). Ale bardzo chętnie się dowiem.

    @apl:
    Zmieniłem kursor na tą seksowną rączkę z wystającym palcem i tarłem katalog [u]assembly[/u], ale jedyne co osiągnąłem to niemiarowe drżenie myszki i jednostajne wysuwanie i chowanie cdromu – dobrze że nie mam pada z force feedback. Dawać buzi nie próbowałem, po doświadczeniach z kursorem przestraszyłem się…;)

    @wiele osób:
    U mnie także (XP) nie da się wejść bezpośrednio do \GAC, ale sposób przedstawiony przez apla działa.

    @wszyscy:
    Pierwotnie chodziło mi o pierwsze rozwiązanie przedstawione przez pgi – czyli dodanie klucza w rejestrze (btw: wartość nie musi wynosić 1, wystarczy że będzie różna od 0). Jednak zawsze warto poznać nowe spsoby:). Wieczorem stosownie uaktualnię post.

    Po takiej reakcji już jestem ciekaw ile nowych rzeczy dowiem się zadając następną (wydaje mi się że trudniejszą) zagadkę – ale to najprędzej w przyszłym tygodniu:).

  11. Panowie, piszac, ze trzeba wpisac ‘C:\Windows\Assembly\gac’ i dać katalog wyżej zapomnialem dopisac, ze trzeba to polecenie wpisac w ‘Uruchom’ z menu start ;)

  12. kazikkuta on

    [quote]Procent wrote:
    Przyznam szczerze że nie wiem co macie na myśli pisząc o podpowiedzi na drugim obrazku:). [/quote]
    Nie wiem jak u Ciebie ale u mnie wystarczy udostępnić ten folder.

  13. @kazikkuta:
    Jedynym efektem klikania na opcji ‘share this folder’ jest pojawienie się okna Properties -> bez możliwości udostępnienia. Chyba że coś robię źle, ale nie wiem jak można źle kliknąć ‘share this folder’:).

  14. No ja mialem na mysli ze widac na drugim obrazku Desktop.ini. No a jak jest Desktop.ini to albo to jest wirus, albo sposob prezentacji foldera ;)

  15. ;) to ja mam tez zagadke:
    1) zdejmujecie sobie shell support z GAC
    2) nie macie VS

    jak dodacie dll do GAC?

  16. nie zabardzo :) nie ma gacutil bez VS – musisz zainstalowac SDK od .NET Framework ktore sa jedynie dostepne w instalce od VS :)

    szukajcie dalej :)

  17. Ok, zgadzam sie. w najnowszym SDK zeczywiscie to jest dostepne. Tylko ze nie wszyscy o tym jeszcze wiedza jako ze jest to "nowosc" jezeli chodzi o zawarcie gacutil od Windows SDK, zreszta Windows SDK to teraz ta naprawde takze .NET Framework SDK.

    Zas co do: Publish..::.GacInstall to wlasnie o to mi chodzilo :)

    wiec % dawaj nagrody ;)

    bo to ze sobie zrobimy taka zmiane by GAC ladnie wygladal, jeszcze nie konczy naszych pozostalych mek ;)

    tak pozatym moh dobrze gadal i mozna sobie zrobic prosty skryt bat:

    ShowAsmExStyle.bat
    cd /d %windows%\assembly
    attrib -r -h -s desktop.ini
    ren desktop.ini desktop.bak

    ShowAsmFusionStyle.bat
    cd /d %windows%\assembly
    attrib -r -h -s desktop.ini
    ren desktop.bak desktop.ini

    dzieki czemu nie musimy sie meczyc z rejestrem za kazdym razem

    Choc tez mozna stworzyc skrypt reg. ale ja jestem za tym by robic sobie virtual drive:
    subst g: %windir%\assembly

    i teraz mamy dostep za pomoca Fusion jak i normalnie. PRoste i wygodne. IMHO najlepsze rozwiazanie :)

  18. Norrrmalnie Gutek zamknąłeś temat definitywnie!
    A co do nagród… tak jak napisałem w poście – nie masz satysfakcji?:) Bo jak nie to odstąpię trochę swojej, a co tam.

  19. byl kiedy taki kabaret ;) "No i mamy satysfakcje, nasi nawet kosmitow [fragment uciety]" ;)

  20. % nie wiem czemu ale przy powiadomieniach o komentarzach dostaje po3 maile.

  21. Kmieciu rulez:)

    A co do maili to ja też nie wiem czemu, modyfikacje BlogEngine ograniczaja sie u mnie do zmian w css i niektorych aspx, glebiej nawet nie zagladalem. Ale skoro srednio dzialaja powiadomienia mailem, srednio dziala RSS… to jeszcze przed chlopakami chyba troche pracy.