fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
2 minut

Zagadka – jak odczarować GAC?


02.04.2008

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.

0 0 votes
Article Rating
33 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
tom
tom
16 years ago

Na obrazku jest podpowiedź ;)

moth
moth
16 years ago

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

tom
tom
16 years ago

moth, no to nie wystarczy

Procent
16 years ago

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:).

apl
apl
16 years ago

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?

kazikkuta
kazikkuta
16 years ago

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

Tom
Tom
16 years ago

:) Coś wygląda na to, że się przyda ;)

:)
:)
16 years ago

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’ ;]

SarmaX
SarmaX
16 years ago

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

pozdrawiam

tom
tom
16 years ago

SarmaX, u mnie nie działa w XP taki sposób

pgi
pgi
16 years ago

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

apl
apl
16 years ago

@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.

pgi
pgi
16 years ago

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

Procent
16 years ago

@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:).

SarmaX
SarmaX
16 years ago

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 ;)

Tom
Tom
16 years ago

@Sarmax:
Działa! W XP! ‘secret handshake’, dobre!

kazikkuta
kazikkuta
16 years ago

[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.

Procent
16 years ago

@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’:).

kazikkuta
kazikkuta
16 years ago

Przepraszam… coś mi się chyba pokrzaczyło…

Tom
Tom
16 years ago

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 ;)

Gutek
Gutek
16 years ago

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

jak dodacie dll do GAC?

apl
apl
16 years ago

Przy pomocy gacutil: gacutil /i widgets.dll

Gutek
Gutek
16 years ago

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

szukajcie dalej :)

apl
apl
16 years ago

Windows SDK, a wraz z nim gacutil, jest jak najbardziej "ściągalne" –

http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC

ale jeśli naprawdę nie chcemy korzystać z tego narzędzia, możemy posłużyć się takim API –

http://msdn2.microsoft.com/en-us/library/system.enterpriseservices.internal.publish.gacinstall.aspx

Gutek
Gutek
16 years ago

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 :)

Procent
16 years ago

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.

Gutek
Gutek
16 years ago

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

Gutek
Gutek
16 years ago

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

Procent
16 years ago

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.

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Książka

Zobacz również