common.wxs 3.4 KB
Newer Older
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <Property Id="REGISTRYKEY" Value="Software\$(var.TestPrefix)Python\PythonCore\$(var.ShortVersion)$(var.Suffix32)" />
    </Fragment>
    
    <Fragment>
        <Property Id="UpgradeTable" Value="1" />
        
        <Upgrade Id="$(var.UpgradeCode)">
            <UpgradeVersion Property="DOWNGRADE" Minimum="$(var.Version)" IncludeMinimum="no" OnlyDetect="yes" />
            <UpgradeVersion Property="UPGRADE" Minimum="$(var.UpgradeMinimumVersion)" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="no" />
        </Upgrade>
        
        <?if $(var.UpgradeCode)!=$(var.CoreUpgradeCode) ?>
        <Upgrade Id="$(var.CoreUpgradeCode)">
            <UpgradeVersion Property="MISSING_CORE" Minimum="$(var.Version)" Maximum="$(var.Version)" OnlyDetect="yes" />
        </Upgrade>
        <?endif ?>
        
        <Condition Message="!(loc.NoDowngrade)">Installed OR NOT DOWNGRADE</Condition>
        <Condition Message="!(loc.IncorrectCore)">Installed OR NOT MISSING_CORE</Condition>
        <Condition Message="!(loc.NoTargetDir)">Installed OR TARGETDIR OR Suppress_TARGETDIR_Check</Condition>

        <InstallExecuteSequence>
            <RemoveExistingProducts After="InstallInitialize">UPGRADE</RemoveExistingProducts>
        </InstallExecuteSequence>
    </Fragment>
    
    <Fragment>
        <!-- Include an icon for the Programs and Features dialog -->
        <Icon Id="ARPIcon" SourceFile="!(bindpath.src)PC\pycon.ico" />
        <Property Id="ARPPRODUCTICON" Value="ARPIcon" />
        <Property Id="ARPNOMODIFY" Value="1" />
        <Property Id="DISABLEADVTSHORTCUTS" Value="1" />
    </Fragment>
    
    <Fragment>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="InstallDirectory" ComponentGuidGenerationSeed="$(var.InstallDirectoryGuidSeed)" />
        </Directory>
    </Fragment>
    
    <!-- Top-level directories -->
    <Fragment>
        <DirectoryRef Id="InstallDirectory">
            <Directory Id="DLLs" Name="DLLs" />
        </DirectoryRef>
    </Fragment>

    <Fragment>
        <DirectoryRef Id="InstallDirectory">
            <Directory Id="Doc" Name="Doc" />
        </DirectoryRef>
    </Fragment>

    <Fragment>
        <DirectoryRef Id="InstallDirectory">
            <Directory Id="include" Name="include" />
        </DirectoryRef>
    </Fragment>

    <Fragment>
        <DirectoryRef Id="InstallDirectory">
            <Directory Id="Lib" Name="Lib" />
        </DirectoryRef>
    </Fragment>

    <Fragment>
        <DirectoryRef Id="InstallDirectory">
            <Directory Id="libs" Name="libs" />
        </DirectoryRef>
    </Fragment>

    <Fragment>
        <DirectoryRef Id="InstallDirectory">
            <Directory Id="Scripts" Name="Scripts" />
        </DirectoryRef>
    </Fragment>

    <Fragment>
        <DirectoryRef Id="InstallDirectory">
            <Directory Id="tcl" Name="tcl" />
        </DirectoryRef>
    </Fragment>

    <Fragment>
        <DirectoryRef Id="InstallDirectory">
            <Directory Id="Tools" Name="Tools" />
        </DirectoryRef>
    </Fragment>
    
    <!-- Start Menu folder -->
    <Fragment>
        <DirectoryRef Id="TARGETDIR">
            <Directory Id="ProgramMenuFolder">
                <Directory Id="MenuDir" Name="!(loc.ProductName)" />
            </Directory>
        </DirectoryRef>
    </Fragment>
</Wix>