The assembly mscorwks.dll assembly is used by Windows Debugger to enumerate CLR data structures and is used by SOS to read the dump file with and is very hard to find if it’s not downloadable from Microsoft symbol service.
Remarks
To create a dump for a IIS running in 32 bit mode on a 64 bit machine you have to use a 32 bit version of ADPlus to generate the dump (otherwise you can get at unresolvable 0x80004005 error).
To find the mscordacwks.dll for the machine that you debug
0:000> lmv m mscorwks
start end module name
000007fe`f8cb0000 000007fe`f9660000 mscorwks (pdb symbols) c:\temp\symbols\mscorwks.pdb\9118F8E35DD94D2F86F6957055536F8A1\mscorwks.pdb
Loaded symbol image file: mscorwks.dll
Image path: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Image name: mscorwks.dll
Timestamp: Wed Sep 02 23:27:09 2009 (4A9EE32D)
CheckSum: 0099C259
ImageSize: 009B0000
File version: 2.0.50727.4200
Product version: 2.0.50727.4200
File flags: 0 (Mask 3F)
File OS: 4 Unknown Win32
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0409.04b0
CompanyName: Microsoft Corporation
ProductName: Microsoft® .NET Framework
InternalName: mscorwks.dll
OriginalFilename: mscorwks.dll
ProductVersion: 2.0.50727.4200
...
Copy the file
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
to your windbg directory and name it
mscordacwks_<architecture>_<architecture>_2.0.50727.<buildnumber>.dll
where architecture is
x86 for 32 bits architecture and
amd64 for 64 bits architecture.
Then reload your symbols
.sympath srv*downstreamstore*http://msdl.microsoft.com/download/symbols
.symfix <Path where you want to store the symbols, I use: c:\temp\symbols>
.reload /f /i
Mscordacwks download
mscordacwks_amd64_amd64_2.0.50727.3074.dllmscordacwks_amd64_amd64_2.0.50727.4200.dllmscordacwks_amd64_amd64_2.0.50727.4206.zipmscordacwks_x86_x86_2.0.50727.3603.dllmscordacwks_x86_x86_2.0.50727.4200.dllmscordacwks_amd64_amd64_2.0.50727.4963.dllmscordacwks_amd64_amd64_4.0.30319.239.dll