Which version of MSVC?90.DLL's to distribute with Python 2.6 based Py2exe executables?

Ross Ridge rridge at csclub.uwaterloo.ca
Thu Dec 17 15:44:23 EST 2009


Jonathan Hartley  <tartley at tartley.com> wrote:
>1) I don't understand why the OP's question doesn't deserve a literal
>answer ...

I gave what I thought was a simple, direct and literal answer.

>.. isn't one of those DLLs in the WinSxS directory derived from
>his MSVC install?

I have no idea.  He might not even have Microsoft Visual C++ installed
on his machine. 

>2) The required dlls come with Python? Whatwhatwhat? 

The DLLs are required for Python to work, so yes the DLLs are included in
the official binary Python distribution for Windows. 

> Is this if I download Python source to compile myself?

No, the DLLs aren't included in the source distribution.  However, if
you compile the Python source yourself with a suitably licenced copy of
Microsoft Visual C++ then you'd be allowed to redistribute the Microsoft
Runtime DLLs as a part of your own binary Python distribution.

>2b) Presumably these runtimes must come with Visual Studio express
>edition (the free one.)

I'd assume so, but you should check the the terms of the EULA for that
particular product to make sure it also allows you to redistribute the
runtime DLLs.

> I assume I can just prise the required DLL off my filesystem after
>MSVS express edition has installed, rather than insisting that my users
>run the MSVC runtime installer at

It would problably simpler to use the DLL included in the "redist"
subdirectory of Microsoft Visual C++ installation.  That is, assumming
there is one, again you'll need to check the EULA.  Sometimes Microsoft
makes specific requirements on how its redistributables are packaged and
installed, and that definately seems to be the case with Visual C++ 2008.

>4) The py2exe wiki says, of the msvc runtime dll version 7.1 (for
>versions of Python prior to 2.6) that:
>
>    "Since most Windows installations nowadays include this DLL by
>default, it may be unnecessary."
>
>To what extent is this true?

It's less true for newer versions of Windows.  I know there are a fair
number of people running Windows Vista and Windows 7 who've run into
problems with my own py2exe wrapped program because their machines don't
already have MSVCR71.DLL installed in their system directories.

>Does the same not also apply to the msvc
>runtime 9.0 dll? (for Python 2.6.4)

I'd assume the problem would be even worse.  I don't think Microsoft
allows the 9.0 runtime to be installed in system directory, so the
specific version of the runtime would need to be already installed the
WinSxS directory.

>Malcome said:
>> (I assume I need just a matching pair of MSVCR90.DLL and MSVCP90.DLL?)
>
>5) Whatwhatwhat again? More than one DLL is required? Are there ever
>any more than these two?

The "P" DLL is for C++ and so the original poster may not actually need
it.  I'm pretty sure Python itself doesn't need it, and py2exe shouldn't
either, but wxPython, or more precisely wxWidgets, almost certainly does.
So in your case you'll probably need to redistribute both DLLs.

					Ross Ridge

-- 
 l/  //	  Ross Ridge -- The Great HTMU
[oo][oo]  rridge at csclub.uwaterloo.ca
-()-/()/  http://www.csclub.uwaterloo.ca/~rridge/ 
 db  //	  



More information about the Python-list mailing list