#66 msvcr71.dll not found

open
nobody
None
5
2004-12-16
2004-12-16
Anonymous
No

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.

Discussion

  • 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..."

     
  • Thomas Heller
    Thomas Heller
    2005-01-12

    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

     
  • Thomas Heller
    Thomas Heller
    2005-06-28

    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.