source: branches/eraser6/Installer/Eraser.wxs @ 591

Revision 591, 3.4 KB checked in by lowjoel, 5 years ago (diff)

-Define the preprocessor constant with our version string
-Prevent installations where an installed version is newer than the current version
-Upgrade installations lower than the current installer version
-I've reset the upgradecode to be the same as the first installer

  • Property svn:keywords set to Id
RevLine 
[520]1<?xml version="1.0" encoding="UTF-8"?>
2<!--
[530]3 * $Id$
[520]4 * Copyright 2008 The Eraser Project
5 * Original Author: Joel Low <lowjoel@users.sourceforge.net>
6 * Modified By:
7 *
8 * This file is part of Eraser.
9 *
10 * Eraser is free software: you can redistribute it and/or modify it under the
11 * terms of the GNU General Public License as published by the Free Software
12 * Foundation, either version 3 of the License, or (at your option) any later
13 * version.
14 *
15 * Eraser is distributed in the hope that it will be useful, but WITHOUT ANY
16 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
17 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
18 *
19 * A copy of the GNU General Public License can be found at
20 * <http://www.gnu.org/licenses/>.
21-->
22
23<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
[591]24    <!-- Change these constants at every build. -->
25    <?define VERSIONSTRING=6.0.1.3 ?><!-- Major.Minor.Release.Build -->
26    <?define PRODUCTID=58F70C8E-1E46-4864-86FC-119693E4DFE2?>
27
28    <Product Id="$(var.PRODUCTID)" Name="Eraser" Language="1033" Version="$(var.VERSIONSTRING)"
29            Manufacturer="The Eraser Project" UpgradeCode="073882B4-E059-4FB4-9D36-11E88D14AE87">
[566]30        <Package Id="*" InstallerVersion="200" Compressed="yes" Keywords="Eraser"
31            Description="Eraser Installer" Manufacturer="The Eraser Project" />
[520]32        <Media Id="1" Cabinet="Installer.cab" EmbedCab="yes" />
33
[588]34        <!-- Check for .NET 3.5 -->
35        <Property Id='FRAMEWORK35'>
36            <RegistrySearch Id='Framework35Registry' Type='raw'
37                Root='HKLM' Key='Software\Microsoft\NET Framework Setup\NDP\v3.5'
38                Name='Install' />
39        </Property>
40        <Condition Message='Eraser requires the .NET Framework 3.5 or higher to be installed.'>
41            FRAMEWORK35 = "#1"
[522]42        </Condition>
43
[589]44        <!-- Program upgrades-->
[590]45        <Upgrade Id ="D07F460B-E2B0-4cc5-A109-998CA9C2D4EA">
[591]46            <UpgradeVersion Property="ERASERUPDATE" Minimum="6.0.0" Maximum="$(var.VERSIONSTRING)" OnlyDetect="no" />
47            <UpgradeVersion Property="ERASERDOWNDATE" Minimum="$(var.VERSIONSTRING)" OnlyDetect="yes" />
[590]48        </Upgrade>
[591]49        <CustomAction Id="AlreadyUpdated" Error="A newer version of Eraser is already installed. Setup will now exit." />
50        <InstallUISequence>
51            <FindRelatedProducts Before="LaunchConditions" />
52            <Custom Action="AlreadyUpdated" After="FindRelatedProducts">ERASERDOWNDATE</Custom>
53        </InstallUISequence>
[589]54        <InstallExecuteSequence>
55            <RemoveExistingProducts After="InstallInitialize" />
56        </InstallExecuteSequence>
57
[588]58        <!-- Program directory -->
[520]59        <Directory Id="TARGETDIR" Name="SourceDir">
[529]60            <?if $(sys.BUILDARCH) = "x64"?>
61                <Directory Id="ProgramFiles64Folder">
62                    <Directory Id="PFFolder" />
[520]63                </Directory>
[529]64            <?else?>
65                <Directory Id="ProgramFilesFolder">
66                    <Directory Id="PFFolder" />
67                </Directory>
68            <?endif?>
[520]69
70            <Directory Id="ProgramMenuFolder" Name="ProgramMenu" />
71            <Directory Id="DesktopFolder" Name="Desktop" />
72        </Directory>
73
[589]74        <!-- Features -->
[520]75        <Feature Id="EraserMain" Title="Eraser" Description="The main Eraser program files." Level="1"
[529]76                ConfigurableDirectory="INSTALLLOCATION" AllowAdvertise="system" Display="expand">
[520]77            <ComponentRef Id="EraserMain" />
78            <ComponentRef Id="EraserLangEn" />
79            <ComponentRef Id="EraserPlugins" />
80            <ComponentRef Id="EraserPluginsLangEn" />
[590]81           
82            <FeatureRef Id="EraserLanguages" />
[520]83        </Feature>
84    </Product>
85</Wix>
Note: See TracBrowser for help on using the repository browser.