[PATCH 3 of 4] Add Python 2.6 support to win32 installer

Pascal Quantin pascal.quantin at gmail.com
Sun Apr 12 14:30:04 CDT 2009


# HG changeset patch
# User Pascal Quantin <pascal.quantin at gmail.com>
# Date 1239479908 -7200
# Node ID 4d5e850d435c2e9d95ef92736a7c4c9078de666c
# Parent  1017a13f4a648fb09cf2a78c239fc50f06dca062
Add Python 2.6 support to win32 installer

With Python 2.6, win32 installer should try to package MSVC9.0 dlls instead of MSVC7.1 dlls

diff --git a/contrib/win32/mercurial.iss b/contrib/win32/mercurial.iss
--- a/contrib/win32/mercurial.iss
+++ b/contrib/win32/mercurial.iss
@@ -38,8 +38,10 @@
 Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
 Source: dist\library.zip; DestDir: {app}
-Source: dist\mfc71.dll; DestDir: {app}
-Source: dist\msvcr71.dll; DestDir: {app}
+Source: dist\mfc*.dll; DestDir: {app}
+Source: dist\msvc*.dll; DestDir: {app}
+Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
+Source: dist\Microsoft.VC*.MFC.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
 Source: dist\w9xpopen.exe; DestDir: {app}
 Source: dist\add_path.exe; DestDir: {app}
 Source: doc\*.html; DestDir: {app}\Docs
diff --git a/contrib/win32/win32-build.txt b/contrib/win32/win32-build.txt
--- a/contrib/win32/win32-build.txt
+++ b/contrib/win32/win32-build.txt
@@ -12,9 +12,12 @@
   Python for Windows Extensions
       http://sourceforge.net/projects/pywin32/
 
-  mfc71.dll (just download, don't install)
+  mfc71.dll (just download, don't install; not needed for Python 2.6)
       http://starship.python.net/crew/mhammond/win32/
 
+  Visual C++ 2008 redistributable package (needed for Python 2.6)
+      http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
+      
   The py2exe distutils extension
       http://sourceforge.net/projects/py2exe/
 
@@ -52,7 +55,25 @@
 
 you can skip the first build step.
 
-Copy mfc71.dll and add_path.exe into the dist directory that just got created.
+Copy add_path.exe into the dist directory that just got created.
+
+If you are using Python up to version 2.5.4, copy mfc71.dll into the dist
+directory that just got created.
+
+If you are using Python 2.6 or later, after installing the Visual C++ 2008
+redistributable package copy into the dist directory that just got created the
+following files:
+  - from the directory starting with
+    Windows/WinSxS/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8
+    the files named: msvcm90.dll, msvcp90.dll and msvcr90.dll
+  - from the directory starting with
+    Windows/WinSxS/x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.21022.8
+    the files named: mfc90.dll, mfc90u.dll, mfcm90.dll and mfcm90u.dll
+  - from the directory named Windows/WinSxS/Manifests, the manifest file
+    starting with x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8
+    (rename it to Microsoft.VC90.CRT.manifest) and the manifest file starting
+    with x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.21022.8 (rename it to
+    Microsoft.VC90.MFC.manifest)
 
 Before building the installer, you have to build Mercurial HTML documentation 
 (or fix mercurial.iss to not reference the doc directory). Assuming you have an


More information about the Mercurial-devel mailing list