• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0"?>
2<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
3     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
4     xmlns:dep="http://schemas.microsoft.com/wix/DependencyExtension">
5  <Bundle Name="!(loc.FullProductName)"
6          UpgradeCode="$(var.CoreUpgradeCode)"
7          Version="$(var.Version)"
8          IconSourceFile="..\..\..\PC\icons\setup.ico"
9          Manufacturer="!(loc.Manufacturer)"
10          AboutUrl="https://www.python.org/"
11          Compressed="no"
12          dep:ProviderKey="CPython-$(var.MajorVersionNumber).$(var.MinorVersionNumber)$(var.PyArchExt)$(var.PyTestExt)">
13    <BootstrapperApplication Id="PythonBA" SourceFile="$(var.BootstrapApp)">
14        <Payload Compressed='yes' SourceFile='Default.thm' />
15        <Payload Compressed='yes' SourceFile='$(var.DefaultWxl)' />
16        <Payload Compressed='yes' SourceFile='SideBar.png' />
17    </BootstrapperApplication>
18
19    <!-- May be set to "Removing" or "Repairing" -->
20    <Variable Name="ActionLikeInstalling" Value="Installing" />
21    <!-- May be set to "Uninstallation" or "Repair" -->
22    <Variable Name="ActionLikeInstallation" Value="Setup" />
23
24    <Variable Name="ShortVersion" Value="$(var.MajorVersionNumber).$(var.MinorVersionNumber)" />
25    <Variable Name="ShortVersionNoDot" Value="$(var.MajorVersionNumber)$(var.MinorVersionNumber)" />
26    <Variable Name="WinVer" Value="$(var.MajorVersionNumber).$(var.MinorVersionNumber)$(var.PyArchExt)$(var.PyTestExt)" />
27    <Variable Name="WinVerNoDot" Value="$(var.MajorVersionNumber)$(var.MinorVersionNumber)$(var.PyArchExt)$(var.PyTestExt)" />
28
29    <Variable Name="InstallAllUsers" Value="0" bal:Overridable="yes" />
30    <?if "$(var.PyTestExt)"="" ?>
31    <Variable Name="InstallLauncherAllUsers" Value="-1" bal:Overridable="yes" />
32    <?else ?>
33    <Variable Name="InstallLauncherAllUsers" Value="-1" />
34    <?endif ?>
35
36    <Variable Name="TargetDir" Value="" bal:Overridable="yes" />
37    <?if $(var.Platform)~="x64" ?>
38    <Variable Name="DefaultAllUsersTargetDir" Value="[ProgramFiles64Folder]Python[WinVerNoDot]" bal:Overridable="yes" />
39    <Variable Name="TargetPlatform" Value="x64" />
40    <?elseif $(var.Platform)~="ARM64" ?>
41    <Variable Name="DefaultAllUsersTargetDir" Value="[ProgramFiles64Folder]Python[WinVerNoDot]" bal:Overridable="yes" />
42    <Variable Name="TargetPlatform" Value="ARM64" />
43    <?else ?>
44    <Variable Name="DefaultAllUsersTargetDir" Value="[ProgramFilesFolder]Python[WinVerNoDot]" bal:Overridable="yes" />
45    <Variable Name="TargetPlatform" Value="x86" />
46    <?endif ?>
47    <Variable Name="DefaultJustForMeTargetDir" Value="[LocalAppDataFolder]Programs\Python\Python[WinVerNoDot]" bal:Overridable="yes" />
48    <Variable Name="OptionalFeaturesRegistryKey" Value="Software\Python\PythonCore\[WinVer]\InstalledFeatures" />
49    <Variable Name="TargetDirRegistryKey" Value="Software\Python\PythonCore\[WinVer]\InstallPath" />
50
51    <!--
52    An empty string will use the other defaults based on InstallAllUsers
53    (and switch dynamically in the UI). To get the old default, pass
54    this property on the command line:
55        DefaultCustomTargetDir=[WindowsVolume]Python[ShortVersionNoDot]
56    -->
57    <Variable Name="DefaultCustomTargetDir" Value="" bal:Overridable="yes" />
58
59    <Variable Name="InstallAllUsersState" Value="enabled" bal:Overridable="yes" />
60    <?if "$(var.PyTestExt)"="" ?>
61    <Variable Name="InstallLauncherAllUsersState" Value="enabled" bal:Overridable="yes" />
62    <?else ?>
63    <Variable Name="InstallLauncherAllUsersState" Value="disable" bal:Overridable="yes" />
64    <?endif ?>
65    <Variable Name="CustomInstallLauncherAllUsersState" Value="[InstallLauncherAllUsersState]" />
66    <Variable Name="TargetDirState" Value="enabled" />
67    <Variable Name="CustomBrowseButtonState" Value="enabled" />
68
69    <Variable Name="Include_core" Value="1" />
70    <Variable Name="Include_exe" Value="1" bal:Overridable="yes" />
71    <Variable Name="Include_dev" Value="1" bal:Overridable="yes" />
72    <Variable Name="Include_lib" Value="1" bal:Overridable="yes" />
73    <Variable Name="Include_test" Value="1" bal:Overridable="yes" />
74    <Variable Name="Include_doc" Value="1" bal:Overridable="yes" />
75    <Variable Name="Include_tools" Value="0" bal:Overridable="yes" />
76    <Variable Name="Include_tcltk" Value="1" bal:Overridable="yes" />
77    <Variable Name="Include_pip" Value="1" bal:Overridable="yes" />
78    <Variable Name="Include_launcher" Value="-1" bal:Overridable="yes" />
79    <?if "$(var.PyTestExt)"="" ?>
80    <Variable Name="Include_launcherState" Value="enabled" bal:Overridable="yes" />
81    <?else ?>
82    <Variable Name="Include_launcherState" Value="disable" />
83    <?endif ?>
84    <Variable Name="Include_symbols" Value="0" bal:Overridable="yes" />
85    <Variable Name="Include_debug" Value="0" bal:Overridable="yes" />
86    <?if $(var.IncludeFreethreaded)~="true" ?>
87    <Variable Name="Include_freethreaded" Value="0" bal:Overridable="yes" />
88    <Variable Name="Include_freethreadedState" Value="enabled" />
89    <?else ?>
90    <Variable Name="Include_freethreaded" Value="0" />
91    <Variable Name="Include_freethreadedState" Value="disable" />
92    <?endif ?>
93
94    <Variable Name="LauncherOnly" Value="0" bal:Overridable="yes" />
95    <Variable Name="BlockedLauncher" Value="0" />
96    <Variable Name="DetectedLauncher" Value="0" />
97    <Variable Name="DetectedOldLauncher" Value="0" />
98
99    <Variable Name="AssociateFiles" Value="-1" bal:Overridable="yes" />
100    <Variable Name="Shortcuts" Value="1" bal:Overridable="yes" />
101    <Variable Name="PrependPath" Value="0" bal:Overridable="yes" />
102    <Variable Name="AppendPath" Value="0" bal:Overridable="yes" />
103    <Variable Name="CompileAll" Value="0" bal:Overridable="yes" />
104
105    <Variable Name="SimpleInstall" Value="0" bal:Overridable="yes" />
106    <Variable Name="SimpleInstallDescription" Value="" bal:Overridable="yes" />
107
108    <Chain ParallelCache="yes">
109      <?if $(var.Platform)!="ARM64" ?>
110      <PackageGroupRef Id="crt" />
111      <?endif ?>
112      <PackageGroupRef Id="core" />
113      <PackageGroupRef Id="exe" />
114      <PackageGroupRef Id="dev" />
115      <PackageGroupRef Id="lib" />
116      <?if $(var.IncludeFreethreaded)~="true" ?>
117      <PackageGroupRef Id="freethreaded" />
118      <?endif ?>
119      <PackageGroupRef Id="test" />
120      <PackageGroupRef Id="doc" />
121      <PackageGroupRef Id="tcltk" />
122      <PackageGroupRef Id="launcher" />
123      <PackageGroupRef Id="pip" />
124      <PackageGroupRef Id="packageinstall" />
125      <PackageGroupRef Id="postinstall" />
126    </Chain>
127  </Bundle>
128</Wix>
129