source: trunk/eraser/Installer/Eraser.wxs @ 1975

Revision 1975, 3.9 KB checked in by lowjoel, 4 years ago (diff)

Make Eraser's BlackBox? an optional plugin component that can be picked at install-time.

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