Fixes make_zip.py to create temporary .pyc files in a separate directory. This avoids polluting tests that run code from TEMP.
diff --git a/Tools/msi/make_zip.py b/Tools/msi/make_zip.py
index bace19a..ba711c4 100644
--- a/Tools/msi/make_zip.py
+++ b/Tools/msi/make_zip.py
@@ -82,18 +82,19 @@
             target.unlink()
 
         with ZipFile(str(target), 'w', ZIP_DEFLATED) as f:
-            for s, rel in rel_sources:
-                if rel.suffix.lower() == '.py':
-                    pyc = Path(tempfile.gettempdir()) / rel.with_suffix('.pyc').name
-                    try:
-                        py_compile.compile(str(s), str(pyc), str(rel), doraise=True, optimize=2)
-                    except py_compile.PyCompileError:
-                        f.write(str(s), str(rel))
+            with tempfile.TemporaryDirectory() as tmpdir:
+                for s, rel in rel_sources:
+                    if rel.suffix.lower() == '.py':
+                        pyc = Path(tmpdir) / rel.with_suffix('.pyc').name
+                        try:
+                            py_compile.compile(str(s), str(pyc), str(rel), doraise=True, optimize=2)
+                        except py_compile.PyCompileError:
+                            f.write(str(s), str(rel))
+                        else:
+                            f.write(str(pyc), str(rel.with_suffix('.pyc')))
                     else:
-                        f.write(str(pyc), str(rel.with_suffix('.pyc')))
-                else:
-                    f.write(str(s), str(rel))
-                count += 1
+                        f.write(str(s), str(rel))
+                    count += 1
 
     else:
         for s, rel in rel_sources: