1<?xml version="1.0" encoding="UTF-8"?> 2<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 3 <Fragment> 4 <Property Id="ROOTREGISTRYKEY" Value="Software\Python\PythonCore" /> 5 </Fragment> 6 7 <Fragment> 8 <Property Id="REGISTRYKEY" Value="Software\Python\PythonCore\$(var.ShortVersion)$(var.PyArchExt)$(var.PyTestExt)" /> 9 </Fragment> 10 11 <Fragment> 12 <Component Id="OptionalFeature" Guid="*" Directory="InstallDirectory"> 13 <Condition>OPTIONALFEATURESREGISTRYKEY</Condition> 14 <RegistryKey Root="HKMU" Key="[OPTIONALFEATURESREGISTRYKEY]"> 15 <RegistryValue Type="string" Name="$(var.OptionalFeatureName)" Value="$(var.Version)" KeyPath="yes" /> 16 </RegistryKey> 17 </Component> 18 </Fragment> 19 20 <Fragment> 21 <Property Id="UpgradeTable" Value="1" /> 22 23 <?ifndef SuppressUpgradeTable ?> 24 <Upgrade Id="$(var.UpgradeCode)"> 25 <UpgradeVersion Property="DOWNGRADE" Minimum="$(var.Version)" IncludeMinimum="no" OnlyDetect="yes" /> 26 <UpgradeVersion Property="UPGRADE" Minimum="$(var.UpgradeMinimumVersion)" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="no" /> 27 </Upgrade> 28 <?endif ?> 29 30 <?ifdef CoreUpgradeCode ?> 31 <?if $(var.UpgradeCode)!=$(var.CoreUpgradeCode) ?> 32 <Upgrade Id="$(var.CoreUpgradeCode)"> 33 <UpgradeVersion Property="MISSING_CORE" Minimum="$(var.Version)" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="yes" OnlyDetect="yes" /> 34 </Upgrade> 35 <Condition Message="!(loc.IncorrectCore)">Installed OR NOT MISSING_CORE</Condition> 36 <?endif ?> 37 <?endif ?> 38 39 <Condition Message="!(loc.NoDowngrade)">Installed OR NOT DOWNGRADE</Condition> 40 <Condition Message="!(loc.NoTargetDir)">Installed OR TARGETDIR OR Suppress_TARGETDIR_Check</Condition> 41 42 <InstallExecuteSequence> 43 <RemoveExistingProducts After="InstallInitialize" Overridable="yes">UPGRADE</RemoveExistingProducts> 44 </InstallExecuteSequence> 45 </Fragment> 46 47 <Fragment> 48 <!-- Include an icon for the Programs and Features dialog --> 49 <Icon Id="ARPIcon" SourceFile="!(bindpath.src)PC\icons\python.ico" /> 50 <Property Id="ARPPRODUCTICON" Value="ARPIcon" /> 51 <Property Id="ARPNOMODIFY" Value="1" /> 52 <Property Id="DISABLEADVTSHORTCUTS" Value="1" /> 53 </Fragment> 54 55 <Fragment> 56 <?ifdef InstallDirectoryGuidSeed ?> 57 <Directory Id="TARGETDIR" Name="SourceDir"> 58 <Directory Id="InstallDirectory" ComponentGuidGenerationSeed="$(var.InstallDirectoryGuidSeed)" /> 59 </Directory> 60 <?endif ?> 61 </Fragment> 62 63 <!-- Top-level directories --> 64 <Fragment> 65 <DirectoryRef Id="InstallDirectory"> 66 <Directory Id="DLLs" Name="DLLs"> 67 <Directory Id="Catalogs" /> 68 </Directory> 69 </DirectoryRef> 70 </Fragment> 71 72 <Fragment> 73 <DirectoryRef Id="InstallDirectory"> 74 <Directory Id="Doc" Name="Doc" /> 75 </DirectoryRef> 76 </Fragment> 77 78 <Fragment> 79 <DirectoryRef Id="InstallDirectory"> 80 <Directory Id="include" Name="include" /> 81 </DirectoryRef> 82 </Fragment> 83 84 <Fragment> 85 <DirectoryRef Id="InstallDirectory"> 86 <Directory Id="Lib" Name="Lib" /> 87 </DirectoryRef> 88 </Fragment> 89 90 <Fragment> 91 <DirectoryRef Id="InstallDirectory"> 92 <Directory Id="libs" Name="libs" /> 93 </DirectoryRef> 94 </Fragment> 95 96 <Fragment> 97 <DirectoryRef Id="InstallDirectory"> 98 <Directory Id="Scripts" Name="Scripts" /> 99 </DirectoryRef> 100 </Fragment> 101 102 <Fragment> 103 <DirectoryRef Id="InstallDirectory"> 104 <Directory Id="tcl" Name="tcl" /> 105 </DirectoryRef> 106 </Fragment> 107 108 <Fragment> 109 <DirectoryRef Id="InstallDirectory"> 110 <Directory Id="Tools" Name="Tools" /> 111 </DirectoryRef> 112 </Fragment> 113 114 <!-- Start Menu folder --> 115 <Fragment> 116 <DirectoryRef Id="TARGETDIR"> 117 <Directory Id="ProgramMenuFolder"> 118 <Directory Id="MenuDir" Name="!(loc.ProductName)" /> 119 </Directory> 120 </DirectoryRef> 121 </Fragment> 122</Wix> 123