summaryrefslogtreecommitdiff
path: root/Tools/msi/launcher/launcher.wxs
blob: ebd875cd9a5daccf3da0c495d0751e66dc532396 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?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)" />
        <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
        
        <Property Id="Suppress_TARGETDIR_Check" Value="1" />
        <PropertyRef Id="ARPPRODUCTICON" />

        <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
            <ComponentGroupRef Id="launcher_exe" Primary="yes" />
        </Feature>
        <Feature Id="AssociateFiles" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
            <ComponentGroupRef Id="launcher_exe" />
            <ComponentGroupRef Id="launcher_reg" />
        </Feature>
        
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="LauncherInstallDirectory" />
        </Directory>
        
        <CustomAction Id="SetLauncherInstallDirectoryLM" Property="LauncherInstallDirectory" Value="[WindowsFolder]" />
        <CustomAction Id="SetLauncherInstallDirectoryCU" Property="LauncherInstallDirectory" Value="[LocalAppDataFolder]Programs\Python\Launcher" />
        
        <InstallExecuteSequence>
            <Custom Before="SetLauncherInstallDirectoryLM" Action="SetLauncherInstallDirectoryCU">NOT Installed AND NOT ALLUSERS=1</Custom>
            <Custom Before="CostFinalize" Action="SetLauncherInstallDirectoryLM">NOT Installed AND ALLUSERS=1</Custom>

            <RemoveExistingProducts After="InstallValidate">UPGRADE or REMOVE_350_LAUNCHER</RemoveExistingProducts>
        </InstallExecuteSequence>

        <!-- Python 3.5.0 shipped with a different UpgradeCode -->
        <Upgrade Id="A71530B9-E89D-53DB-9C2D-C6D7551876D8">
            <UpgradeVersion Minimum="0.0.0.0" Property="REMOVE_350_LAUNCHER" />
        </Upgrade>
        <!-- Python 3.6.0a1 shipped with a different UpgradeCode -->
        <Upgrade Id="394750C0-7880-5A8F-999F-933965FBCFB4">
            <UpgradeVersion Maximum="$(var.Version)" Property="REMOVE_360A1_LAUNCHER" />
            <UpgradeVersion Minimum="$(var.Version)" Property="BLOCK_360A1_LAUNCHER" />
        </Upgrade>
        <Condition Message="!(loc.NoDowngrade)">Installed OR NOT BLOCK_360A1_LAUNCHER</Condition>
    </Product>
</Wix>