After installing Python 2.7.3, inside the Python folder I have version 9.0.30729.1 of msvcr90.dll, but it seems that the embeded redistributable package contains the 9.0.21022.8 version of msvcm90.dll, msvcp90.dll, and msvcr90.dll Is this the intended behavior?
It's not explicitly intended, but a side effect of how Microsoft distributes patches. The redistributable package comes from %ProgramFiles%\Common Files\Merge Modules, whereas the separate copy comes from %VS90COMNTOOLS%\..\..\VC\redist. Apparently, the Windows Update process updated one and not the other. Apparently, an update to the merge modules is included in http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11895 I'll see whether this actually does update the merge modules. In general, while not being intended, this version difference is expected.
I was reading about py2exe and found this old thread: https://groups.google.com/d/msg/wxpython-users/fwHt9zSbnsE/IV3aryIBrd8J I'm not familiar with C++ and redists and stuff, but I find it strange that the manifest from the Python folder requires a specific version, and the installed runtime is another version. Would it be ok if I'll just install the 9.0.30729.1 runtime by hand? Or any 9.0.30729.xxxx version is good enough?
OTOH, the manifest embedded in python.exe references version 9.0.21022.8 I'm going to delete Microsoft.VC90.CRT.manifest and msvcr90.dll from Python installation folder and postpone py2exe experiments a bit.