diff --git a/Doc/Makefile b/Doc/Makefile
index 8888cf6..21ca0b7 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -32,7 +32,7 @@
 	  svn checkout $(SVNROOT)/external/Pygments-0.8.1/pygments tools/pygments; \
 	fi
 
-update:
+update: checkout
 	svn update tools/sphinx
 	svn update tools/docutils
 	svn update tools/pygments
diff --git a/Lib/test/test_pipes.py b/Lib/test/test_pipes.py
index 94c2231..63eaa4d 100644
--- a/Lib/test/test_pipes.py
+++ b/Lib/test/test_pipes.py
@@ -9,6 +9,9 @@
 
 TESTFN2 = TESTFN + "2"
 
+# tr a-z A-Z is not portable, so make the ranges explicit
+s_command = 'tr %s %s' % (string.ascii_lowercase, string.ascii_uppercase)
+
 class SimplePipeTests(unittest.TestCase):
     def tearDown(self):
         for f in (TESTFN, TESTFN2):
@@ -16,7 +19,7 @@
 
     def testSimplePipe1(self):
         t = pipes.Template()
-        t.append('tr a-z A-Z', pipes.STDIN_STDOUT)
+        t.append(s_command, pipes.STDIN_STDOUT)
         f = t.open(TESTFN, 'w')
         f.write('hello world #1')
         f.close()
@@ -25,14 +28,14 @@
     def testSimplePipe2(self):
         open(TESTFN, 'w').write('hello world #2')
         t = pipes.Template()
-        t.append('tr a-z A-Z < $IN > $OUT', pipes.FILEIN_FILEOUT)
+        t.append(s_command + ' < $IN > $OUT', pipes.FILEIN_FILEOUT)
         t.copy(TESTFN, TESTFN2)
         self.assertEqual(open(TESTFN2).read(), 'HELLO WORLD #2')
 
     def testSimplePipe3(self):
         open(TESTFN, 'w').write('hello world #2')
         t = pipes.Template()
-        t.append('tr a-z A-Z < $IN', pipes.FILEIN_STDOUT)
+        t.append(s_command + ' < $IN', pipes.FILEIN_STDOUT)
         self.assertEqual(t.open(TESTFN, 'r').read(), 'HELLO WORLD #2')
 
     def testEmptyPipeline1(self):
diff --git a/Makefile.pre.in b/Makefile.pre.in
index aa280c0..2e03527 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -82,6 +82,9 @@
 # Install prefix for architecture-dependent files
 exec_prefix=	@exec_prefix@
 
+# Install prefix for data files
+datarootdir=    @datarootdir@
+
 # Expanded directories
 BINDIR=		$(exec_prefix)/bin
 LIBDIR=		$(exec_prefix)/lib
diff --git a/Tools/buildbot/buildmsi.bat b/Tools/buildbot/buildmsi.bat
new file mode 100644
index 0000000..c04f578
--- /dev/null
+++ b/Tools/buildbot/buildmsi.bat
@@ -0,0 +1,10 @@
+@rem Used by the buildbot "buildmsi" step.
+cmd /c Tools\buildbot\external.bat
+call "%VS71COMNTOOLS%vsvars32.bat"
+cmd /q/c Tools\buildbot\kill_python.bat
+devenv.com /useenv /build Release PCbuild\pcbuild.sln
+bash.exe -c 'cd Doc;make PYTHON=python2.5 update htmlhelp'
+"%ProgramFiles%\HTML Help Workshop\hhc.exe Doc\build\htmlhelp\pydoc.hhp
+cd Tools\msi
+del *.msi
+%HOST_PYTHON% msi.py
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index 0d54255..c179fd7 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -1049,7 +1049,7 @@
     htmlfiles.set_current()
     lib = PyDirectory(db, cab, root, "Doc", "Doc", "DOC|Doc")
     lib.start_component("documentation", keyfile="Python%s%s.chm" % (major,minor))
-    lib.add_file("Python%s%s.chm" % (major, minor))
+    lib.add_file("Python%s%s.chm" % (major, minor), src="build/htmlhelp/pydoc.chm")
 
     cab.commit(db)
 
