Home | History | Annotate | Download | only in msi
      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