changeset 8058:a0555ae394b3

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
author Pascal Quantin <pascal.quantin@gmail.com>
date Sat, 11 Apr 2009 21:58:28 +0200
parents 2a4cb1d509ec
children 41a2c5cbcb6a
files contrib/win32/mercurial.iss contrib/win32/win32-build.txt
diffstat 2 files changed, 27 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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