Can't find correct msvcr90.dll in WinSxS
Hi,
I want to debug a .dmp file created by my application on a client machine.
When I debug the dump, it tries to load the following dll, but can't find it:
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30411.0_x-ww_71382c73\msvcr90.dll
I need this dll (and the .pdb of course too) in order to get a complete call stack.
I know that version number 9.0.30411.0 refers to the VC++ 2008 Feature Pack. I installed vcredist_x86.exe of exactly this version. But in my WinSxS folder I only find this version of the dll:
C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30411.0_none_dba7eb55a0823cdf\msvcr90.dll
Public key token and version are identical, but the language differs. I need language "x-ww" whereas I only have language "none".
Does anybody know where I can find the right dll (and pdb)?
I also tried "Load symbols from Microsoft symbol servers" from the VC++ 2008 Options dialog, but it wasn't found there either.
Martin
Re: Can't find correct msvcr90.dll in WinSxS
Why not pull the dump file back to you development machine and analyze it there?
gg
Re: Can't find correct msvcr90.dll in WinSxS
That's what I'm trying to do. It's the development machine that doesn't have the right version of msvcr90.dll.
I don't have any access to the runtime machine where the dump was written.
Martin
Re: Can't find correct msvcr90.dll in WinSxS
I have no idea. My first "hackish" attempt would be to create a copy of the "x-ww" version long enough to debug it.
gg
Re: Can't find correct msvcr90.dll in WinSxS
I tried that too. However Copy & Paste into the WinSxS folder was prohibited by the OS. Even with an account with Admin rights. I prefer not to mess further with it.
Re: Can't find correct msvcr90.dll in WinSxS
Well, you would have to modify security in order to mess around in there...
What's interesting is that on all my (XP) machines, all my SXS instances use "x-ww". I don't see anything with "none" (or anything else). And I can't find anything online that would explain the difference. However, it does seem like the "none" instances I do find online are on Vista machines.
What differences are there between your development box and the client's box?
gg
Re: Can't find correct msvcr90.dll in WinSxS
The "Example" here does suggest it's an XP vs Vista naming convention...
http://msdn.microsoft.com/en-us/libr...42(VS.80).aspx
Quote:
For example, Visual Studio 2005 installs the CRT assembly as a shared side-by-side assembly which can be found in the directory
%WINDIR%\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50608.0_x-ww_b7acac55
when running Windows XP
or in the directory
%WINDIR%\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.42_none_db5f52fb98cb24ad
when running Windows Vista.
If that's the case, I see 3 options:
1) copy the XP name of the dll on your vista development box
2) edit the dump file (somehow) to reference the vista name of the dll
3) use an XP development box
gg
Re: Can't find correct msvcr90.dll in WinSxS
Thanks a lot. That's the pointer that I needed. I had no clue what "x-ww" is supposed to mean. Now I know what to do next. Good work finding this KB article.
Martin