Ignore user environment/site-packages for ensurepip and compile_all
Remove build condition to prevent old strings hanging around
Add -h option to build.bat
diff --git a/Tools/msi/build.bat b/Tools/msi/build.bat
index 4dfa5fb..1dc05c3 100644
--- a/Tools/msi/build.bat
+++ b/Tools/msi/build.bat
@@ -8,9 +8,10 @@
 set BUILDDOC=

 

 :CheckOpts

-if '%1'=='-x86' (set BUILDX86=1) && shift && goto CheckOpts

-if '%1'=='-x64' (set BUILDX64=1) && shift && goto CheckOpts

-if '%1'=='--doc' (set BUILDDOC=1) && shift && goto CheckOpts

+if "%1" EQU "-h" goto Help

+if "%1" EQU "-x86" (set BUILDX86=1) && shift && goto CheckOpts

+if "%1" EQU "-x64" (set BUILDX64=1) && shift && goto CheckOpts

+if "%1" EQU "--doc" (set BUILDDOC=1) && shift && goto CheckOpts

 

 if not defined BUILDX86 if not defined BUILDX64 (set BUILDX86=1) && (set BUILDX64=1)

 

@@ -44,3 +45,12 @@
     msbuild "%D%bundle\snapshot.wixproj" /p:Platform=x64

     if errorlevel 1 goto :eof

 )

+

+exit /B 0

+

+:Help

+echo build.bat [-x86] [-x64] [--doc] [-h]

+echo.

+echo    -x86                Build x86 installers

+echo    -x64                Build x64 installers

+echo    --doc               Build CHM documentation

diff --git a/Tools/msi/bundle/packagegroups/postinstall.wxs b/Tools/msi/bundle/packagegroups/postinstall.wxs
index b20cc50..35978cc 100644
--- a/Tools/msi/bundle/packagegroups/postinstall.wxs
+++ b/Tools/msi/bundle/packagegroups/postinstall.wxs
@@ -36,7 +36,7 @@
                 <MsiProperty Name="TARGETDIR" Value="[TargetDir]" />
             </MsiPackage>
             
-            <?define CompileAllCommand=-$(var.ShortVersion)$(var.Suffix32) -Wi "[TargetDir]\Lib\compileall.py" -f -x "bad_coding|badsyntax|site-packages|py2_|lib2to3\\tests|venv\\scripts" "[TargetDir]\Lib"?>
+            <?define CompileAllCommand=-$(var.ShortVersion)$(var.Suffix32) -E -s -Wi "[TargetDir]\Lib\compileall.py" -f -x "bad_coding|badsyntax|site-packages|py2_|lib2to3\\tests|venv\\scripts" "[TargetDir]\Lib"?>
             <ExePackage Id="compileall_AllUsers"
                         SourceFile="py.exe"
                         Compressed="yes"
diff --git a/Tools/msi/msi.targets b/Tools/msi/msi.targets
index b507dc3..34b8747 100644
--- a/Tools/msi/msi.targets
+++ b/Tools/msi/msi.targets
@@ -24,7 +24,7 @@
         </ItemGroup>
     </Target>
 
-    <Target Name="_TransformWxlTemplates" AfterTargets="PrepareForBuild" Inputs="@(WxlTemplate)" Outputs="$(IntermediateOutputPath)%(Filename).wxl">
+    <Target Name="_TransformWxlTemplates" AfterTargets="PrepareForBuild">
         <PropertyGroup>
             <_Content>$([System.IO.File]::ReadAllText(%(WxlTemplate.FullPath)).Replace(`{{ShortVersion}}`, `$(MajorVersionNumber).$(MinorVersionNumber)`).Replace(`{{LongVersion}}`, `$(PythonVersion)`).Replace(`{{Bitness}}`, `$(Bitness)`))</_Content>
             <_ExistingContent Condition="Exists('$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl')">$([System.IO.File]::ReadAllText($(IntermediateOutputPath)%(WxlTemplate.Filename).wxl))</_ExistingContent>
diff --git a/Tools/msi/pip/pip.wxs b/Tools/msi/pip/pip.wxs
index 4c3dc59..c46a868 100644
--- a/Tools/msi/pip/pip.wxs
+++ b/Tools/msi/pip/pip.wxs
@@ -27,8 +27,8 @@
         <?endif ?>
         
         <!-- Install/uninstall pip -->
-        <CustomAction Id="SetUpdatePipCommandLine" Property="UpdatePip" Value='"[PYTHON_EXE]" -m ensurepip -U --default-pip' Execute="immediate" />
-        <CustomAction Id="SetRemovePipCommandLine" Property="UpdatePip" Value='"[PYTHON_EXE]" -B -m ensurepip._uninstall' Execute="immediate" />
+        <CustomAction Id="SetUpdatePipCommandLine" Property="UpdatePip" Value='"[PYTHON_EXE]" -E -s -m ensurepip -U --default-pip' Execute="immediate" />
+        <CustomAction Id="SetRemovePipCommandLine" Property="UpdatePip" Value='"[PYTHON_EXE]" -E -s -B -m ensurepip._uninstall' Execute="immediate" />
         
         <InstallExecuteSequence>
             <Custom Action="SetUpdatePipCommandLine" Before="UpdatePip">(&amp;DefaultFeature=3) AND NOT (!DefaultFeature=3)</Custom>