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: