diff --git a/Tools/msi/merge.py b/Tools/msi/merge.py
new file mode 100644
index 0000000..aa26122
--- /dev/null
+++ b/Tools/msi/merge.py
@@ -0,0 +1,70 @@
+import msilib,os,win32com,tempfile
+PCBUILD="PCBuild"
+from config import *
+
+Win64 = "amd64" in PCBUILD
+
+mod_dir = os.path.join(os.environ["ProgramFiles"], "Common Files", "Merge Modules")
+if Win64:
+    modules = ["Microsoft_VC90_CRT_x86.msm", "policy_8_0_Microsoft_VC80_CRT_x86_x64.msm"]
+    msi = "python-%s.amd64.msi" % full_current_version
+else:
+    modules = ["Microsoft_VC90_CRT_x86.msm","policy_8_0_Microsoft_VC80_CRT_x86.msm"]
+    msi = "python-%s.msi" % full_current_version
+for i, n in enumerate(modules):
+    modules[i] = os.path.join(mod_dir, n)
+
+def merge(msi, feature, rootdir, modules):
+    cab_and_filecount = []
+    # Step 1: Merge databases, extract cabfiles
+    m = msilib.MakeMerge2()
+    m.OpenLog("merge.log")
+    print "Opened Log"
+    m.OpenDatabase(msi)
+    print "Opened DB"
+    for module in modules:
+        print module
+        m.OpenModule(module,0)
+        print "Opened Module",module
+        m.Merge(feature, rootdir)
+        print "Errors:"
+        for e in m.Errors:
+            print e.Type, e.ModuleTable, e.DatabaseTable
+            print "   Modkeys:",
+            for s in e.ModuleKeys: print s,
+            print
+            print "   DBKeys:",
+            for s in e.DatabaseKeys: print s,
+            print
+        cabname = tempfile.mktemp(suffix=".cab")
+        m.ExtractCAB(cabname)
+        cab_and_filecount.append((cabname, len(m.ModuleFiles)))
+        m.CloseModule()
+    m.CloseDatabase(True)
+    m.CloseLog()
+
+    # Step 2: Add CAB files
+    i = msilib.MakeInstaller()
+    db = i.OpenDatabase(msi, win32com.client.constants.msiOpenDatabaseModeTransact)
+
+    v = db.OpenView("SELECT LastSequence FROM Media")
+    v.Execute(None)
+    maxmedia = -1
+    while 1:
+        r = v.Fetch()
+        if not r: break
+        seq = r.IntegerData(1)
+        if seq > maxmedia:
+            maxmedia = seq
+    print "Start of Media", maxmedia
+
+    for cabname, count in cab_and_filecount:
+        stream = "merged%d" % maxmedia
+        msilib.add_data(db, "Media",
+                [(maxmedia+1, maxmedia+count, None, "#"+stream, None, None)])
+        msilib.add_stream(db, stream,  cabname)
+        os.unlink(cabname)
+        maxmedia += count
+    db.Commit()
+
+merge(msi, "SharedCRT", "TARGETDIR", modules)
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index 08b759c..6a228be 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -799,6 +799,12 @@
     default_feature = Feature(db, "DefaultFeature", "Python",
                               "Python Interpreter and Libraries",
                               1, directory = "TARGETDIR")
+    shared_crt = Feature(db, "SharedCRT", "MSVCRT", "C Run-Time (system-wide)", 0,
+                         level=0)
+    private_crt = Feature(db, "PrivateCRT", "MSVCRT", "C Run-Time (private)", 0,
+                          level=0)
+    add_data(db, "Condition", [("SharedCRT", 1, sys32cond),
+                               ("PrivateCRT", 1, "not "+sys32cond)])
     # We don't support advertisement of extensions
     ext_feature = Feature(db, "Extensions", "Register Extensions",
                           "Make this Python installation the default Python installation", 3,
@@ -899,7 +905,7 @@
     DLLs = PyDirectory(db, cab, root, srcdir + "/" + PCBUILD, "DLLs", "DLLS|DLLs")
     # XXX determine dependencies
     if MSVCR == "90":
-        root.start_component("msvcr90")
+        root.start_component("msvcr90", feature=private_crt)
         for file, kw in extract_msvcr90():
             root.add_file(file, **kw)
             if file.endswith("manifest"):
diff --git a/Tools/msi/schema.py b/Tools/msi/schema.py
index 7a3e797..d028a11 100644
--- a/Tools/msi/schema.py
+++ b/Tools/msi/schema.py
@@ -18,7 +18,7 @@
 ActionText.add_field(3,'Template',7936)
 
 AdminExecuteSequence = Table('AdminExecuteSequence')
-AdminExecuteSequence.add_field(1,'Action',11592)
+AdminExecuteSequence.add_field(1,'Action',0x2DFF)
 AdminExecuteSequence.add_field(2,'Condition',7679)
 AdminExecuteSequence.add_field(3,'Sequence',5378)
 
@@ -28,12 +28,12 @@
 Condition.add_field(3,'Condition',7679)
 
 AdminUISequence = Table('AdminUISequence')
-AdminUISequence.add_field(1,'Action',11592)
+AdminUISequence.add_field(1,'Action',0x2DFF)
 AdminUISequence.add_field(2,'Condition',7679)
 AdminUISequence.add_field(3,'Sequence',5378)
 
 AdvtExecuteSequence = Table('AdvtExecuteSequence')
-AdvtExecuteSequence.add_field(1,'Action',11592)
+AdvtExecuteSequence.add_field(1,'Action',0x2DFF)
 AdvtExecuteSequence.add_field(2,'Condition',7679)
 AdvtExecuteSequence.add_field(3,'Sequence',5378)
 
@@ -83,7 +83,7 @@
 Feature.add_field(4,'Description',8191)
 Feature.add_field(5,'Display',5378)
 Feature.add_field(6,'Level',1282)
-Feature.add_field(7,'Directory_',7496)
+Feature.add_field(7,'Directory_',0x1DFF)
 Feature.add_field(8,'Attributes',1282)
 
 Binary = Table('Binary')
@@ -91,15 +91,15 @@
 Binary.add_field(2,'Data',2304)
 
 BindImage = Table('BindImage')
-BindImage.add_field(1,'File_',11592)
+BindImage.add_field(1,'File_',0x2DFF)
 BindImage.add_field(2,'Path',7679)
 
 File = Table('File')
-File.add_field(1,'File',11592)
-File.add_field(2,'Component_',3400)
+File.add_field(1,'File',0x2DFF)
+File.add_field(2,'Component_',0xDFF)
 File.add_field(3,'FileName',4095)
 File.add_field(4,'FileSize',260)
-File.add_field(5,'Version',7496)
+File.add_field(5,'Version',0x1DFF)
 File.add_field(6,'Language',7444)
 File.add_field(7,'Attributes',5378)
 File.add_field(8,'Sequence',1282)
@@ -114,7 +114,7 @@
 Class = Table('Class')
 Class.add_field(1,'CLSID',11558)
 Class.add_field(2,'Context',11552)
-Class.add_field(3,'Component_',11592)
+Class.add_field(3,'Component_',0x2DFF)
 Class.add_field(4,'ProgId_Default',7679)
 Class.add_field(5,'Description',8191)
 Class.add_field(6,'AppId_',7462)
@@ -127,12 +127,12 @@
 Class.add_field(13,'Attributes',5378)
 
 Component = Table('Component')
-Component.add_field(1,'Component',11592)
+Component.add_field(1,'Component',0x2DFF)
 Component.add_field(2,'ComponentId',7462)
-Component.add_field(3,'Directory_',3400)
+Component.add_field(3,'Directory_',0xDFF)
 Component.add_field(4,'Attributes',1282)
 Component.add_field(5,'Condition',7679)
-Component.add_field(6,'KeyPath',7496)
+Component.add_field(6,'KeyPath',0x1DFF)
 
 Icon = Table('Icon')
 Icon.add_field(1,'Name',11592)
@@ -158,12 +158,12 @@
 CompLocator.add_field(3,'Type',5378)
 
 Complus = Table('Complus')
-Complus.add_field(1,'Component_',11592)
+Complus.add_field(1,'Component_',0x2DFF)
 Complus.add_field(2,'ExpType',13570)
 
 Directory = Table('Directory')
-Directory.add_field(1,'Directory',11592)
-Directory.add_field(2,'Directory_Parent',7496)
+Directory.add_field(1,'Directory',0x2DFF)
+Directory.add_field(2,'Directory_Parent',0x1DFF)
 Directory.add_field(3,'DefaultDir',4095)
 
 Control = Table('Control')
@@ -207,13 +207,13 @@
 ControlEvent.add_field(6,'Ordering',5378)
 
 CreateFolder = Table('CreateFolder')
-CreateFolder.add_field(1,'Directory_',11592)
-CreateFolder.add_field(2,'Component_',11592)
+CreateFolder.add_field(1,'Directory_',0x2DFF)
+CreateFolder.add_field(2,'Component_',0x2DFF)
 
 CustomAction = Table('CustomAction')
-CustomAction.add_field(1,'Action',11592)
+CustomAction.add_field(1,'Action',0x2DFF)
 CustomAction.add_field(2,'Type',1282)
-CustomAction.add_field(3,'Source',7496)
+CustomAction.add_field(3,'Source',0x1DFF)
 CustomAction.add_field(4,'Target',7679)
 
 DrLocator = Table('DrLocator')
@@ -224,8 +224,8 @@
 
 DuplicateFile = Table('DuplicateFile')
 DuplicateFile.add_field(1,'FileKey',11592)
-DuplicateFile.add_field(2,'Component_',3400)
-DuplicateFile.add_field(3,'File_',3400)
+DuplicateFile.add_field(2,'Component_',0xDFF)
+DuplicateFile.add_field(3,'File_',0xDFF)
 DuplicateFile.add_field(4,'DestName',8191)
 DuplicateFile.add_field(5,'DestFolder',7496)
 
@@ -233,7 +233,7 @@
 Environment.add_field(1,'Environment',11592)
 Environment.add_field(2,'Name',4095)
 Environment.add_field(3,'Value',8191)
-Environment.add_field(4,'Component_',3400)
+Environment.add_field(4,'Component_',0xDFF)
 
 Error = Table('Error')
 Error.add_field(1,'Error',9474)
@@ -247,7 +247,7 @@
 
 Extension = Table('Extension')
 Extension.add_field(1,'Extension',11775)
-Extension.add_field(2,'Component_',11592)
+Extension.add_field(2,'Component_',0x2DFF)
 Extension.add_field(3,'ProgId_',7679)
 Extension.add_field(4,'MIME_',7488)
 Extension.add_field(5,'Feature_',3366)
@@ -259,10 +259,10 @@
 
 FeatureComponents = Table('FeatureComponents')
 FeatureComponents.add_field(1,'Feature_',11558)
-FeatureComponents.add_field(2,'Component_',11592)
+FeatureComponents.add_field(2,'Component_',0x2DFF)
 
 FileSFPCatalog = Table('FileSFPCatalog')
-FileSFPCatalog.add_field(1,'File_',11592)
+FileSFPCatalog.add_field(1,'File_',0x2DFF)
 FileSFPCatalog.add_field(2,'SFPCatalog_',11775)
 
 SFPCatalog = Table('SFPCatalog')
@@ -271,7 +271,7 @@
 SFPCatalog.add_field(3,'Dependency',7424)
 
 Font = Table('Font')
-Font.add_field(1,'File_',11592)
+Font.add_field(1,'File_',0x2DFF)
 Font.add_field(2,'FontTitle',7552)
 
 IniFile = Table('IniFile')
@@ -282,7 +282,7 @@
 IniFile.add_field(5,'Key',3968)
 IniFile.add_field(6,'Value',4095)
 IniFile.add_field(7,'Action',1282)
-IniFile.add_field(8,'Component_',3400)
+IniFile.add_field(8,'Component_',0xDFF)
 
 IniLocator = Table('IniLocator')
 IniLocator.add_field(1,'Signature_',11592)
@@ -293,18 +293,18 @@
 IniLocator.add_field(6,'Type',5378)
 
 InstallExecuteSequence = Table('InstallExecuteSequence')
-InstallExecuteSequence.add_field(1,'Action',11592)
+InstallExecuteSequence.add_field(1,'Action',0x2DFF)
 InstallExecuteSequence.add_field(2,'Condition',7679)
 InstallExecuteSequence.add_field(3,'Sequence',5378)
 
 InstallUISequence = Table('InstallUISequence')
-InstallUISequence.add_field(1,'Action',11592)
+InstallUISequence.add_field(1,'Action',0x2DFF)
 InstallUISequence.add_field(2,'Condition',7679)
 InstallUISequence.add_field(3,'Sequence',5378)
 
 IsolatedComponent = Table('IsolatedComponent')
-IsolatedComponent.add_field(1,'Component_Shared',11592)
-IsolatedComponent.add_field(2,'Component_Application',11592)
+IsolatedComponent.add_field(1,'Component_Shared',0x2DFF)
+IsolatedComponent.add_field(2,'Component_Application',0x2DFF)
 
 LaunchCondition = Table('LaunchCondition')
 LaunchCondition.add_field(1,'Condition',11775)
@@ -340,7 +340,7 @@
 
 MoveFile = Table('MoveFile')
 MoveFile.add_field(1,'FileKey',11592)
-MoveFile.add_field(2,'Component_',3400)
+MoveFile.add_field(2,'Component_',0xDFF)
 MoveFile.add_field(3,'SourceName',8191)
 MoveFile.add_field(4,'DestName',8191)
 MoveFile.add_field(5,'SourceFolder',7496)
@@ -348,14 +348,14 @@
 MoveFile.add_field(7,'Options',1282)
 
 MsiAssembly = Table('MsiAssembly')
-MsiAssembly.add_field(1,'Component_',11592)
+MsiAssembly.add_field(1,'Component_',0x2DFF)
 MsiAssembly.add_field(2,'Feature_',3366)
-MsiAssembly.add_field(3,'File_Manifest',7496)
-MsiAssembly.add_field(4,'File_Application',7496)
+MsiAssembly.add_field(3,'File_Manifest',0x1DFF)
+MsiAssembly.add_field(4,'File_Application',0x1DFF)
 MsiAssembly.add_field(5,'Attributes',5378)
 
 MsiAssemblyName = Table('MsiAssemblyName')
-MsiAssemblyName.add_field(1,'Component_',11592)
+MsiAssemblyName.add_field(1,'Component_',0x2DFF)
 MsiAssemblyName.add_field(2,'Name',11775)
 MsiAssemblyName.add_field(3,'Value',3583)
 
@@ -370,7 +370,7 @@
 MsiDigitalSignature.add_field(4,'Hash',6400)
 
 MsiFileHash = Table('MsiFileHash')
-MsiFileHash.add_field(1,'File_',11592)
+MsiFileHash.add_field(1,'File_',0x2DFF)
 MsiFileHash.add_field(2,'Options',1282)
 MsiFileHash.add_field(3,'HashPart1',260)
 MsiFileHash.add_field(4,'HashPart2',260)
@@ -388,14 +388,14 @@
 
 ODBCDriver = Table('ODBCDriver')
 ODBCDriver.add_field(1,'Driver',11592)
-ODBCDriver.add_field(2,'Component_',3400)
+ODBCDriver.add_field(2,'Component_',0xDFF)
 ODBCDriver.add_field(3,'Description',3583)
-ODBCDriver.add_field(4,'File_',3400)
-ODBCDriver.add_field(5,'File_Setup',7496)
+ODBCDriver.add_field(4,'File_',0xDFF)
+ODBCDriver.add_field(5,'File_Setup',0x1DFF)
 
 ODBCDataSource = Table('ODBCDataSource')
-ODBCDataSource.add_field(1,'DataSource',11592)
-ODBCDataSource.add_field(2,'Component_',3400)
+ODBCDataSource.add_field(1,'DataSource',0x2DFF)
+ODBCDataSource.add_field(2,'Component_',0xDFF)
 ODBCDataSource.add_field(3,'Description',3583)
 ODBCDataSource.add_field(4,'DriverDescription',3583)
 ODBCDataSource.add_field(5,'Registration',1282)
@@ -407,10 +407,10 @@
 
 ODBCTranslator = Table('ODBCTranslator')
 ODBCTranslator.add_field(1,'Translator',11592)
-ODBCTranslator.add_field(2,'Component_',3400)
+ODBCTranslator.add_field(2,'Component_',0xDFF)
 ODBCTranslator.add_field(3,'Description',3583)
-ODBCTranslator.add_field(4,'File_',3400)
-ODBCTranslator.add_field(5,'File_Setup',7496)
+ODBCTranslator.add_field(4,'File_',0xDFF)
+ODBCTranslator.add_field(5,'File_Setup',0x1DFF)
 
 Patch = Table('Patch')
 Patch.add_field(1,'File_',11592)
@@ -427,7 +427,7 @@
 PublishComponent = Table('PublishComponent')
 PublishComponent.add_field(1,'ComponentId',11558)
 PublishComponent.add_field(2,'Qualifier',11775)
-PublishComponent.add_field(3,'Component_',11592)
+PublishComponent.add_field(3,'Component_',0x2DFF)
 PublishComponent.add_field(4,'AppData',8191)
 PublishComponent.add_field(5,'Feature_',3366)
 
@@ -443,12 +443,12 @@
 RadioButton.add_field(9,'Help',7986)
 
 Registry = Table('Registry')
-Registry.add_field(1,'Registry',11592)
+Registry.add_field(1,'Registry',0x2DFF)
 Registry.add_field(2,'Root',1282)
 Registry.add_field(3,'Key',4095)
 Registry.add_field(4,'Name',8191)
 Registry.add_field(5,'Value',7936)
-Registry.add_field(6,'Component_',3400)
+Registry.add_field(6,'Component_',0xDFF)
 
 RegLocator = Table('RegLocator')
 RegLocator.add_field(1,'Signature_',11592)
@@ -459,7 +459,7 @@
 
 RemoveFile = Table('RemoveFile')
 RemoveFile.add_field(1,'FileKey',11592)
-RemoveFile.add_field(2,'Component_',3400)
+RemoveFile.add_field(2,'Component_',0xDFF)
 RemoveFile.add_field(3,'FileName',8191)
 RemoveFile.add_field(4,'DirProperty',3400)
 RemoveFile.add_field(5,'InstallMode',1282)
@@ -472,24 +472,24 @@
 RemoveIniFile.add_field(5,'Key',3968)
 RemoveIniFile.add_field(6,'Value',8191)
 RemoveIniFile.add_field(7,'Action',1282)
-RemoveIniFile.add_field(8,'Component_',3400)
+RemoveIniFile.add_field(8,'Component_',0xDFF)
 
 RemoveRegistry = Table('RemoveRegistry')
 RemoveRegistry.add_field(1,'RemoveRegistry',11592)
 RemoveRegistry.add_field(2,'Root',1282)
 RemoveRegistry.add_field(3,'Key',4095)
 RemoveRegistry.add_field(4,'Name',8191)
-RemoveRegistry.add_field(5,'Component_',3400)
+RemoveRegistry.add_field(5,'Component_',0xDFF)
 
 ReserveCost = Table('ReserveCost')
 ReserveCost.add_field(1,'ReserveKey',11592)
-ReserveCost.add_field(2,'Component_',3400)
+ReserveCost.add_field(2,'Component_',0xDFF)
 ReserveCost.add_field(3,'ReserveFolder',7496)
 ReserveCost.add_field(4,'ReserveLocal',260)
 ReserveCost.add_field(5,'ReserveSource',260)
 
 SelfReg = Table('SelfReg')
-SelfReg.add_field(1,'File_',11592)
+SelfReg.add_field(1,'File_',0x2DFF)
 SelfReg.add_field(2,'Cost',5378)
 
 ServiceControl = Table('ServiceControl')
@@ -498,7 +498,7 @@
 ServiceControl.add_field(3,'Event',1282)
 ServiceControl.add_field(4,'Arguments',8191)
 ServiceControl.add_field(5,'Wait',5378)
-ServiceControl.add_field(6,'Component_',3400)
+ServiceControl.add_field(6,'Component_',0xDFF)
 
 ServiceInstall = Table('ServiceInstall')
 ServiceInstall.add_field(1,'ServiceInstall',11592)
@@ -512,14 +512,14 @@
 ServiceInstall.add_field(9,'StartName',7679)
 ServiceInstall.add_field(10,'Password',7679)
 ServiceInstall.add_field(11,'Arguments',7679)
-ServiceInstall.add_field(12,'Component_',3400)
+ServiceInstall.add_field(12,'Component_',0xDFF)
 ServiceInstall.add_field(13,'Description',8191)
 
 Shortcut = Table('Shortcut')
 Shortcut.add_field(1,'Shortcut',11592)
-Shortcut.add_field(2,'Directory_',3400)
+Shortcut.add_field(2,'Directory_',0xDFF)
 Shortcut.add_field(3,'Name',3968)
-Shortcut.add_field(4,'Component_',3400)
+Shortcut.add_field(4,'Component_',0xDFF)
 Shortcut.add_field(5,'Target',3400)
 Shortcut.add_field(6,'Arguments',7679)
 Shortcut.add_field(7,'Description',8191)
@@ -550,10 +550,10 @@
 TypeLib = Table('TypeLib')
 TypeLib.add_field(1,'LibID',11558)
 TypeLib.add_field(2,'Language',9474)
-TypeLib.add_field(3,'Component_',11592)
+TypeLib.add_field(3,'Component_',0x2DFF)
 TypeLib.add_field(4,'Version',4356)
 TypeLib.add_field(5,'Description',8064)
-TypeLib.add_field(6,'Directory_',7496)
+TypeLib.add_field(6,'Directory_',0x1DFF)
 TypeLib.add_field(7,'Feature_',3366)
 TypeLib.add_field(8,'Cost',4356)
 
