I'm building a utility (32 bit) with PyI that needs to be runnable on machines with different Windows versions. (For reference, I'm using PyI 2.0 at the moment, and Python 2.7.2.)

The generated manifest filereferences VC90.CRT and VC90.MFC at version 9.0.21022.8. When I run it on my machine (Win 7 Pro), Process Explorer shows it's picked up 9.0.30729.6161 of the MSVC[pr].dll files. When I copy the .exe and manifest to another machine (Server 2008R2), it fails, with the "attempt to load the C runtime library incorrectly" message. The event trace shows:
Component identity found in manifest does not match the identity of the component requested. Reference is Microsoft.VC90.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8". Definition is Microsoft.VC90.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1".

(The sxs folders show a third version of the files: 9.0.30729.4926.)

Changing the version numbers in the foo.exe.manifest file has no effect.

Stepping back from the gory details for a moment: what I really want is to not have to worry about what might be in the Windows/winsxs of the target machines.I found a discussion of this at https://groups.google.com/forum/#!topic/pyinstaller/4a9Nb2zgteo, where the recommendation was to add an 'a.binaries' entry to force inclusion of a particular version of the DLLs.I'll give that a try, startingwith 9.0.21022.8.

However, I'd like to know if anyone has a better suggestion. At this point, the whole SxS thing smells to me like the latest edition of DLL Hell. (For an example of Visual C++ users struggling with this, see http://stackoverflow.com/questions/59635/app-does-not-run-with-vs-2008-sp1-dlls-previous-version-works-with-rtm-versions)

Thanks for any good words,
--

Don Dwiggins
Advanced Publishing Technology


--
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyinstaller.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to