diff --git a/Misc/NEWS b/Misc/NEWS
index fcf9ec7..a8edff1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -13,6 +13,13 @@
 Library
 -------
 
+Build
+-----
+
+- Issue #1303434: Generate ZIP file containing all PDBs (already done for rc1).
+
+- Stop packaging versioncheck tool (already done for rc1).
+
 
 What's New in Python 3.1.3 release candidate 1?
 ===============================================
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index 027af07..ae3b018 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -1,7 +1,7 @@
 # Python MSI Generator
 # (C) 2003 Martin v. Loewis
 # See "FOO" in comments refers to MSDN sections with the title FOO.
-import msilib, schema, sequence, os, glob, time, re, shutil
+import msilib, schema, sequence, os, glob, time, re, shutil, zipfile
 from msilib import Feature, CAB, Directory, Dialog, Binary, add_data
 import uisample
 from win32com.client import constants
@@ -28,6 +28,8 @@
 PCBUILD="PCbuild"
 # msvcrt version
 MSVCR = "90"
+# Make a zip file containing the PDB files for this build?
+pdbzip = True
 
 try:
     from config import *
@@ -1116,7 +1118,7 @@
     # Add tools
     tools.set_current()
     tooldir = PyDirectory(db, cab, root, "Tools", "Tools", "TOOLS|Tools")
-    for f in ['i18n', 'pynche', 'Scripts', 'versioncheck', 'webchecker']:
+    for f in ['i18n', 'pynche', 'Scripts', 'webchecker']:
         lib = PyDirectory(db, cab, tooldir, f, f, "%s|%s" % (tooldir.make_short(f), f))
         lib.glob("*.py")
         lib.glob("*.pyw", exclude=['pydocgui.pyw'])
@@ -1293,6 +1295,16 @@
               ])
     db.Commit()
 
+def build_pdbzip():
+    pdbexclude = ['kill_python.pdb', 'make_buildinfo.pdb',
+                  'make_versioninfo.pdb']
+    path = "python-%s%s-pdb.zip" % (full_current_version, msilib.arch_ext)
+    pdbzip = zipfile.ZipFile(path, 'w')
+    for f in glob.glob1(os.path.join(srcdir, PCBUILD), "*.pdb"):
+        if f not in pdbexclude and not f.endswith('_d.pdb'):
+            pdbzip.write(os.path.join(srcdir, PCBUILD, f), f)
+    pdbzip.close()
+
 db = build_database()
 try:
     add_features(db)
@@ -1303,3 +1315,6 @@
     db.Commit()
 finally:
     del db
+
+if pdbzip:
+    build_pdbzip()
