summaryrefslogtreecommitdiffstats
path: root/Tools/msi/pip/pip.wxs
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/msi/pip/pip.wxs')
-rw-r--r--Tools/msi/pip/pip.wxs39
1 files changed, 39 insertions, 0 deletions
diff --git a/Tools/msi/pip/pip.wxs b/Tools/msi/pip/pip.wxs
new file mode 100644
index 0000000..19e9f5f
--- /dev/null
+++ b/Tools/msi/pip/pip.wxs
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)" Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
+ <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
+
+ <PropertyRef Id="UpgradeTable" />
+ <PropertyRef Id="REGISTRYKEY" />
+
+ <Property Id="PYTHON_EXE" Secure="yes">
+ <ComponentSearch Id="PythonExe" Guid="$(var.PythonExeComponentGuid)">
+ <FileSearch Name="python.exe" />
+ </ComponentSearch>
+ </Property>
+
+ <Condition Message="!(loc.NoPython)">PYTHON_EXE</Condition>
+
+ <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
+ <ComponentRef Id="OptionalFeature" />
+ </Feature>
+
+ <?if $(var.Platform)~="x64" ?>
+ <CustomAction Id="UpdatePip" BinaryKey="WixCA" DllEntry="CAQuietExec64" Execute="deferred" Return="ignore"/>
+ <?else ?>
+ <CustomAction Id="UpdatePip" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore"/>
+ <?endif ?>
+
+ <!-- Install/uninstall pip -->
+ <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>
+ <Custom Action="SetRemovePipCommandLine" Before="UpdatePip">(&amp;DefaultFeature=2) AND (!DefaultFeature=3)</Custom>
+
+ <Custom Action="UpdatePip" Before="InstallFinalize">UpdatePip</Custom>
+ </InstallExecuteSequence>
+ </Product>
+</Wix>
+