missing dll follow-up

A

Alex Hall

Hi again,
I said "msvcr90.dll", but I meant "msvcp90.dll". In either case, I
cannot locate the dll to include in my project and I am not sure what
else I can do. The vcredist_x86 was, I thought, supposed to give me
the dll, but it does not seem to have done so.
 
R

Rebelo

Alex said:
Hi again,
I said "msvcr90.dll", but I meant "msvcp90.dll". In either case, I
cannot locate the dll to include in my project and I am not sure what
else I can do. The vcredist_x86 was, I thought, supposed to give me
the dll, but it does not seem to have done so.
i think that you nedd Microsoft Visual Studio C++ for that dll file, I
used Microsoft Visual Studio C++ Express
 
M

Martin v. Löwis

Try the VS 2008 SP1 redistributables, from
That looks like Microsoft's German site. I wonder if their VS 2008
runtimes are localized for specific languages?

Apparently so; just remove displaylang=de from the URL to get the
English version of the page.

I can't imagine that the files are actually different - if anything, it
should be just the installer UI, and perhaps some kind of message catalog.

Regards,
Martin
 
J

Jonathan Hartley

Alex said:
The vcredist_x86 was, I thought, supposed to give me
the dll, but it does not seem to have done so.

The installer puts the DLL in the directory C:\WINDOWS\WinSxS
(or at least it does for me, on WinXP) I shall update the py2exe
tutorial page to reflect this.

Under that dir, there are a lot of mangled directory names, and a
director called 'Manifests'. You can still discern the text
'Microsoft.VC90.CRT' and '9.0.21022.8' within the filenames of the DLL
dir and the manifest file that you want. I am no expert, but I think
if you are taking a copy of these to embed in your application, then
you can (must?) rename them to remove the mangling, as described on
the py2exe tutorial page.

If you still cannot find the DLL there, then try searching your
"Program Files" folder for a copy included with another application.
Several other Visual C/C++ applications include these runtime DLLs.
(eg. Console2 from sourceforge)

One other thing to keep in mind is that there is more than one version
of this DLL in the wild, all with the same filename. You absolutely
need the same version that Python 2.6 was compiled with, which is
9.0.21022.8. You can tell which version of the DLL you have got the
tooltip when hovering you mouse cursor over it. (also hovering over
the redistributable installer will tell you the same thing)

The original version of the redistributable installer does provide the
correct DLL version (this is the same thing as linked to above. This
is the English version):
http://www.microsoft.com/downloads/...34-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en

The SP1 version of the same installer provides a different version of
the DLL (but with the same filename). This will not work.
 
J

Jonathan Hartley

The installer puts the DLL in the directory C:\WINDOWS\WinSxS
(or at least it does for me, on WinXP) I shall update the py2exe
tutorial page to reflect this.

Under that dir, there are a lot of mangled directory names, and a
director called 'Manifests'. You can still discern the text
'Microsoft.VC90.CRT' and '9.0.21022.8' within the filenames of the DLL
dir and the manifest file that you want. I am no expert, but I think
if you are taking a copy of these to embed in your application, then
you can (must?) rename them to remove the mangling, as described on
the py2exe tutorial page.

If you still cannot find the DLL there, then try searching your
"Program Files" folder for a copy included with another application.
Several other Visual C/C++ applications include these runtime DLLs.
(eg. Console2 from sourceforge)

One other thing to keep in mind is that there is more than one version
of this DLL in the wild, all with the same filename. You absolutely
need the same version that Python 2.6 was compiled with, which is
9.0.21022.8. You can tell which version of the DLL you have got the
tooltip when hovering you mouse cursor over it. (also hovering over
the redistributable installer will tell you the same thing)

The original version of the redistributable installer does provide the
correct DLL version (this is the same thing as linked to above. This
is the English version):http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e0...

The SP1 version of the same installer provides a different version of
the DLL (but with the same filename). This will not work.

Oh, and, this is probably obvious and well-known, sorry if I'm
teaching grandmother to suck eggs here, but if you have rights to
distribute this DLL with your application, I understand this means
that you own a copy of Visual Studio, and a copy of the DLL and
manifest file can be found in the installed Visual Studio 'redist'
directory. If you don't have such a DLL in that directory (eg. if you
have the express edition) then you don't have legal right to
distribution it. Just so you know.
 
J

Jonathan Hartley

The installer puts the DLL in the directory C:\WINDOWS\WinSxS
(or at least it does for me, on WinXP) I shall update the py2exe
tutorial page to reflect this.

Done. Final para of section 5.2.2 now reads:
"""
The installer puts a copy of the DLLs in the directory C:\WINDOWS
\WinSxS (XP), inside subdirectories with mangled names. The manifest
file is in the 'Manifests' subdirectory, again this will have a
mangled filename. You can still discern the text 'Microsoft.VC90.CRT'
and '9.0.21022.8' within the mangled file and directory names, to find
the files. It is possible to take a copy of these files and remove the
filename mangling, to embed them in your application as described in
5.2.1.
"""
Where section 5.2.1 begins, as it always has:
"""
If you do have the rights to redistribute MSVCR90.dll, there should be
a copy of it in your Visual Studio install, under VC\redist
\x86\Microsoft.VC90.CRT...
"""

http://www.py2exe.org/index.cgi/Tutorial#Step522
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,175
Messages
2,570,942
Members
47,489
Latest member
BrigidaD91

Latest Threads

Top