From: Jonathan Hartley on 15 Apr 2010 07:11 Alex Hall wrote: > 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/details.aspx?FamilyID=9b2da534-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.
From: Jonathan Hartley on 15 Apr 2010 07:14 On Apr 15, 12:11 pm, Jonathan Hartley <tart...(a)tartley.com> wrote: > Alex Hall wrote: > > 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/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.
From: Jonathan Hartley on 15 Apr 2010 07:30 On Apr 15, 12:11 pm, Jonathan Hartley <tart...(a)tartley.com> wrote: > 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
First
|
Prev
|
Pages: 1 2 Prev: msvcr90.dll is MIA? Next: Unit testing errors (testing the platform module) |