Getting .dll files out of the GAC

Periodically, you may find it necessary to get a copy of a .dll file out of the the GAC (C:\Windows\Assembly).  Navigating to this folder, you will notice it doesn’t “feel” like a normal windows folder since it isn’t.  You can drag .dll files onto this folder to install, but you can’t drag anything out of it.  This happens due to the shfusion.dll explorer extension dll that format the GAC folder.

Before:

image

So if you want access to these .dlls, you can unregister the shfusion.dll

regsvr32 /u C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\shfusion.dll

and you should see a message like this:

image

After:

Once you have unregistered the .dll, you can browse to the assembly folder and you will notice that the underlying folder structure is exposed:

image

If you’re looking to grad several .dlls out of the GAC, you can use xcopy or some other tool to flatten out the folder structure.

Advertisements