From: Mark Hammond
1. Installed copies of both Python 2.3 and 2.4. 2. EITHER MSVC 6 and 7 (both versions) OR mingw
Yes, that is true for all practical intent, if your installation has extension modules. However, for a pure-python distribution, you need *no* compilers installed. In that case, we still have a problem - at the moment, the installation is guaranteed to fail for either Python 2.3 and before, or for 2.4, depending on which CRTL was used to build wininst.exe.
To clarify, I am talking about only how wininst.exe interacts with Python, not extension building related issues (even though they are similar).
Ah. I follow. In that case, yes I agree that practicality should beat purity, and whatever works would make sense. My feeling is that reading the file into a string and using the Py...RunString function is the sensible option here. After all (as I posted in python-dev) OLEAUT32.DLL uses MSVCRT.DLL, and works happily with MSVC7-compiled DLLs (at least it had better!!!), so there is at least *some* indication that DLLs can interact with EXEs which use a different CRT (as long as sufficient care is taken). Paul.
"Moore, Paul" <Paul.Moore@atosorigin.com> writes:
After all (as I posted in python-dev) OLEAUT32.DLL uses MSVCRT.DLL, and works happily with MSVC7-compiled DLLs (at least it had better!!!), so there is at least *some* indication that DLLs can interact with EXEs which use a different CRT (as long as sufficient care is taken).
That doesn't matter. OLEAUT32 probably allocates and frees memory using functions on MSVCRT.DLL, independent from what the exe is using. And the exe should better not allocate with MSVCRT.DLL and free this with MSVCR70.DLL. Thomas
participants (2)
-
Moore, Paul
-
Thomas Heller