There is a package I have to deal with which installs assemblies straight into the GAC (e.g. somewhere deep in %windows%/assembly).
How do I exorcise the actual as
I am the author of PowerShell GAC. With PowerShell GAC you can extract assemblies from the GAC without depending on GAC internals like changing folder structures.
Get-GacAssembly SomeCompany* | Get-GacAssemblyFile | Copy-Item -Dest C:\Temp\SomeCompany
Easy way I have found is to open the command prompt and browse through the folder you mention until you find the DLL you want - you can then user the copy command to get it out. Windows Explorer has a "helpful" special view of this folder.
The method described here is very easy:
http://andreasglaser.net/post/2008/08/05/Extract-assembly-from-Global-Assembly-Cache-(GAC)-with-network-drive-mapping.aspx
Summary from Article:
\\YourServer\C$\Windows\Assembly
)Open RUN then type %windir%\assembly\GAC_MSIL
, this will open your dlls in folders' view you can then navigate to your dll named folder and open it, you will find your dll file and copy it easily
From a Powershell script, you can try this. I only had a single version of the assembly in the GAC so this worked just fine.
cd "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\"
Get-ChildItem assemblypath -Recurse -Include *.dll | Copy-Item -Destination "c:\folder to copy to"
where the assembly path can use wildcards.
Use the file browser "Total Commander" instead.