The msvcr71.dll is needed to run python 2.4 programs.
This dll is not part of older windows releases
(Windows98). Py2exe copies the file python24.dll to the
dist folder, it should also copy msvcr71.dll to the
dist folder.
Indeed - as a MS knowledgebase article (http://support.microsoft.com/default.aspx?scid=kb;en-us;326922) notes:
"...the Msvcr71.dll/Msvcr70.dll is no longer considered a system file, therefore, distribute Msvcr71.dll/Msvcr70.dll with any application that relies on it. Because it is no longer a system component, install it in your applications Program Files directory with other application-specific code..."
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So, the technical side is solved, although there is also a
legal side - you need a license to distribute these dlls. It
may be that only MSVC owners have the right to distribute
the files.
Although the latter is not py2exe's problem ;-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Currently I'm thinking that I should take a different
approach in the next release:
py2exe should assume that each dll in the windows system
directory is a system dll which should not be copied, with a
few exceptions: pythonXY.dll, msvcr71.dll, pythoncomXY.dll,
pywintypesXY.dll.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: NO
Indeed - as a MS knowledgebase article (http://support.microsoft.com/default.aspx?scid=kb;en-us;326922) notes:
"...the Msvcr71.dll/Msvcr70.dll is no longer considered a system file, therefore, distribute Msvcr71.dll/Msvcr70.dll with any application that relies on it. Because it is no longer a system component, install it in your applications Program Files directory with other application-specific code..."
Logged In: YES
user_id=11105
That is good to know - thanks for the research.
So, the technical side is solved, although there is also a
legal side - you need a license to distribute these dlls. It
may be that only MSVC owners have the right to distribute
the files.
Although the latter is not py2exe's problem ;-)
Logged In: NO
Maybe there should be a tip on the py2exe and ctype wiki
concerning this problem with an example like the following
(quick'n dirty hack?):
--- snip ----
from distutils.core import setup
import py2exe
import sys,os
# add the msvcrt etc from the python installation
pythonDir = os.path.dirname(sys.executable)
data_files = [(".",
[pythonDir+"/msvcr71.dll", pythonDir+"/msvcp71.
dll"])]
setup(console=["myProg.py"],
data_files=data_files,
)
--- snip ---
Georg Kster
georgk on bnet minus ibb dot de
Logged In: YES
user_id=11105
Currently I'm thinking that I should take a different
approach in the next release:
py2exe should assume that each dll in the windows system
directory is a system dll which should not be copied, with a
few exceptions: pythonXY.dll, msvcr71.dll, pythoncomXY.dll,
pywintypesXY.dll.