This post is a more of a reminder for myself as I have to do this every few months and I end up googleing it every time, because I don't remember what exactly needs to be done.
The problem:
How to get your hands on the DLL (as a file) that is stored in GAC.
The solution:
When you go to Windows\assembly directory you will see something like the screen below.
The problem arises when you want to copy the DLL itself (as a file). In this shell extension (Assembly Cache Viewer (SHFusion.dll) you're not allowed to do that. You may wonder why would you want to copy those DLLs in the first place. Well, for example when you want to install the DLL on the machine and the only copy of the DLL you've got is in GAC.
Ok, enough foreplay. Here's the actual solution:
For first time on each machine add key:
DisableCacheViewer in
HKLM\Software\Microsoft\Fusion
Set the DWORD value to 1.
Now if you go to the assembly directory you'll see the following screen.
For all future usage, simply toggle the registry value.
NOTE: There are other ways of doing this, such as disabling SHFusion via command line, but I find this one the easiest.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.