Makes embedded distribution a plain ZIP file and corrects pyd exclusion.
diff --git a/Tools/msi/make_zip.proj b/Tools/msi/make_zip.proj
index d47de88..a0f461a 100644
--- a/Tools/msi/make_zip.proj
+++ b/Tools/msi/make_zip.proj
@@ -9,8 +9,9 @@
<Import Project="msi.props" />
<PropertyGroup>
+ <SignOutput>false</SignOutput>
<TargetName>python-$(PythonVersion)-embed-$(ArchName)</TargetName>
- <TargetExt>.exe</TargetExt>
+ <TargetExt>.zip</TargetExt>
<TargetPath>$(OutputPath)\en-us\$(TargetName)$(TargetExt)</TargetPath>
<Arguments>"$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py"</Arguments>
<Arguments>$(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -a $(ArchName)</Arguments>
diff --git a/Tools/msi/make_zip.py b/Tools/msi/make_zip.py
index 56d6f38..368b4ec 100644
--- a/Tools/msi/make_zip.py
+++ b/Tools/msi/make_zip.py
@@ -14,7 +14,19 @@
PYTHON_DLL_RE = re.compile(r'python\d\d?\.dll$', re.IGNORECASE)
def is_not_debug(p):
- return not DEBUG_RE.search(p.name) and not TKTCL_RE.search(p.name)
+ if DEBUG_RE.search(p.name):
+ return False
+
+ if TKTCL_RE.search(p.name):
+ return False
+
+ return p.name.lower() not in {
+ '_ctypes_test.pyd',
+ '_testbuffer.pyd',
+ '_testcapi.pyd',
+ '_testimportmultiple.pyd',
+ 'xxlimited.pyd',
+ }
def is_not_debug_or_python(p):
return is_not_debug(p) and not PYTHON_DLL_RE.search(p.name)
@@ -31,14 +43,6 @@
return True
suffix = p.suffix.lower()
- if suffix == '.pyd':
- return name not in {
- '_ctypes_test.pyd',
- '_testbuffer.pyd',
- '_testcapi.pyd',
- '_testimportmultiple.pyd',
- 'xxlimited.pyd',
- }
return suffix not in {'.pyc', '.pyo'}
def include_in_tools(p):
@@ -153,8 +157,7 @@
subprocess.check_call([
str(rar),
"a",
- "-m5", "-ed", "-ep1", "-s", "-r",
- "-sfxwincon.sfx",
+ "-ed", "-ep1", "-s", "-r",
str(out),
str(temp / '*')
])