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

Revision 713, 3.4 KB checked in by lowjoel, 6 years ago (diff)

-Added the behemoth of a Eraser Shell registry registration code
-Sign the MSIs atop of everything else

  • Property svn:keywords set to Id
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 * $Id$
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">
24    <?include "..\Version.wxs"?>
25    <Product Id="$(var.PRODUCTID)" Name="Eraser" Language="1033" Version="$(var.VERSIONSTRING)"
26            Manufacturer="The Eraser Project" UpgradeCode="073882B4-E059-4FB4-9D36-11E88D14AE87">
27        <Package Id="*" InstallerVersion="200" Compressed="yes" Keywords="Eraser"
28            Description="Eraser Installer" Manufacturer="The Eraser Project" />
29        <Media Id="1" Cabinet="Installer.cab" EmbedCab="yes" />
30
31        <!-- Check for .NET 3.5 -->
32        <Property Id='FRAMEWORK35'>
33            <RegistrySearch Id='Framework35Registry' Type='raw'
34                Root='HKLM' Key='Software\Microsoft\NET Framework Setup\NDP\v3.5'
35                Name='Install' />
36        </Property>
37        <Condition Message='Eraser requires the .NET Framework 3.5 or higher to be installed.'>
38            FRAMEWORK35 = "#1"
39        </Condition>
40
41        <!-- Program upgrades-->
42        <Upgrade Id ="D07F460B-E2B0-4cc5-A109-998CA9C2D4EA">
43            <UpgradeVersion Property="ERASERUPDATE" Minimum="6.0.0" Maximum="$(var.VERSIONSTRING)" OnlyDetect="no" />
44            <UpgradeVersion Property="ERASERDOWNDATE" Minimum="$(var.VERSIONSTRING)" OnlyDetect="yes" />
45        </Upgrade>
46        <CustomAction Id="AlreadyUpdated" Error="A newer version of Eraser is already installed. Setup will now exit." />
47        <InstallUISequence>
48            <FindRelatedProducts Before="LaunchConditions" />
49            <Custom Action="AlreadyUpdated" After="FindRelatedProducts">ERASERDOWNDATE</Custom>
50        </InstallUISequence>
51        <InstallExecuteSequence>
52            <RemoveExistingProducts After="InstallInitialize" />
53        </InstallExecuteSequence>
54
55        <!-- Program directory -->
56        <Directory Id="TARGETDIR" Name="SourceDir">
57            <?if $(sys.BUILDARCH) = "x64"?>
58                <Directory Id="ProgramFiles64Folder">
59                    <Directory Id="PFFolder" />
60                </Directory>
61            <?else?>
62                <Directory Id="ProgramFilesFolder">
63                    <Directory Id="PFFolder" />
64                </Directory>
65            <?endif?>
66
67            <Directory Id="ProgramMenuFolder" Name="ProgramMenu" />
68            <Directory Id="DesktopFolder" Name="Desktop" />
69        </Directory>
70
71        <!-- Features -->
72        <Feature Id="EraserMain" Title="Eraser" Description="The main Eraser program files." Level="1"
73                ConfigurableDirectory="INSTALLLOCATION" AllowAdvertise="system" Display="expand">
74            <ComponentRef Id="EraserMain" />
75            <ComponentRef Id="EraserLangEn" />
76            <ComponentRef Id="EraserPlugins" />
77            <ComponentRef Id="EraserPluginsLangEn" />
78
79            <Feature Id="EraserMainShell" Title="Eraser Shell Extension"
80                    Description="Eraser shell integration" Level="1">
81                <ComponentRef Id="EraserShell" />
82            </Feature>
83            <FeatureRef Id="EraserLanguages" />
84        </Feature>
85    </Product>
86</Wix>
Note: See TracBrowser for help on using the repository browser.