Deprecate os.popen* and popen2 module in favor of the subprocess module.
diff --git a/Tools/msi/msilib.py b/Tools/msi/msilib.py
index d7b86cc..548b640 100644
--- a/Tools/msi/msilib.py
+++ b/Tools/msi/msilib.py
@@ -5,7 +5,7 @@
 import win32com.client
 import pythoncom, pywintypes
 from win32com.client import constants
-import re, string, os, sets, glob, popen2, sys, _winreg, struct
+import re, string, os, sets, glob, subprocess, sys, _winreg, struct
 
 try:
     basestring
@@ -388,8 +388,10 @@
         else:
             print "WARNING: cabarc.exe not found in registry"
             cabarc = "cabarc.exe"
-        f = popen2.popen4(r'"%s" -m lzx:21 n %s.cab @%s.txt' % (cabarc, self.name, self.name))[0]
-        for line in f:
+        cmd = r'"%s" -m lzx:21 n %s.cab @%s.txt' % (cabarc, self.name, self.name)
+        p = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE,
+                             stdout=subprocess.PIPE, stderr=subprocess.STDOUT)[0]
+        for line in (p.stdout, p.stdin):
             if line.startswith("  -- adding "):
                 sys.stdout.write(".")
             else: