Windows Side-by-side assembly default version (msvcr90.dll)

1.3k Views Asked by At

Where is the default version of assemblies stored?

When I run python.exe (2.6 or 2.7) and check it out using Process Explorer, I see that it loads the newest version of msvcr90.dll (9.0.30729.9247 on my PC). Python has an internal manifest that specifies version 9.0.21022.8 of msvcr90.dll, but the newer version is still loaded. Python 2.6 has a Microsoft.VC90.CRT.manifest file that also specifies 9.0.21022.8 but the newer version is always loaded.

Using Process monitor I can see all other instances when msvcr90.dll is loaded and they all use 9.0.30729.9247.

Somewhere my PC must be telling all these programs to use the newer version but I can't seem to find out where. I have many versions of microsoft.vc90.crt in my WinSxS folder.

If I can't change the default version, is there any way that I can 'downgrade' my microsoft.vc90.crt? To a version that seems more standard (9.0.30729.6161)

PS. I have no idea where my version 9.0.30729.9247 of microsoft.vc90.crt came from

1

There are 1 best solutions below

0
kbotha On BEST ANSWER

The default Windows side-by-side assembly version is specified in the registry

For microsoft.vc90.crt the version is specified at:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\x86_policy.9.0.microsoft.vc90.crt_

Change the default version back to an older version as required