Add Python 2.6 support to win32 installer
authorPascal Quantin <pascal.quantin@gmail.com>
Sat, 11 Apr 2009 21:58:28 +0200
changeset 8058 a0555ae394b3
parent 8057 2a4cb1d509ec
child 8059 41a2c5cbcb6a
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
contrib/win32/mercurial.iss
contrib/win32/win32-build.txt
--- a/contrib/win32/mercurial.iss	Sun Jan 25 21:08:36 2009 +0100
+++ b/contrib/win32/mercurial.iss	Sat Apr 11 21:58:28 2009 +0200
@@ -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
--- a/contrib/win32/win32-build.txt	Sun Jan 25 21:08:36 2009 +0100
+++ b/contrib/win32/win32-build.txt	Sat Apr 11 21:58:28 2009 +0200
@@ -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