source: trunk/sln/HaliteWix/Product.wxs @ 750

Revision 750, 6.9 KB checked in by Eoin, 10 years ago (diff)

Wix code vastly improved. Now supports upgrades correctly.

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2
3<?define VerGeneration = "0" ?>
4<?define VerMajor = "3" ?>
5<?define VerMinor = "3" ?>
6<?define VerBuild = "0745" ?>
7
8<?define FullGMmbVersion = "$(var.VerGeneration).$(var.VerMajor).$(var.VerMinor) Build $(var.VerBuild)" ?>
9<?define ShortGMmbVersion = "$(var.VerGeneration).$(var.VerMajor).$(var.VerMinor)" ?>
10
11<?if $(var.MyCPU) = "x64" ?>
12        <?define CpuId = "2" ?>
13        <?define ProgFilesFolder = "ProgramFiles64Folder" ?>
14        <?define Platforms = "x64" ?>
15        <?define CpuPostfix = " (x64 edition)" ?>
16        <?define Is64 = "yes" ?>
17        <?define ReleaseFolder = "x64\$(var.Configuration)\" ?>
18<?else ?>
19        <?define CpuId = "1" ?>
20        <?define ProgFilesFolder = "ProgramFilesFolder" ?>
21        <?define Platforms = "x86" ?>
22        <?define CpuPostfix = "" ?>
23        <?define Is64 = "no" ?>
24        <?define ReleaseFolder = "$(var.Configuration)\" ?>
25<?endif ?>
26
27<?define ProductName = "Halite" ?>
28<?define ProductFullName = "$(var.ProductName) $(var.FullGMmbVersion)$(var.CpuPostfix)" ?>
29
30<?define RootDirectory = "$(var.ProjectDir)\..\..\" ?>
31
32<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
33       
34        <?define UpgradeCode="{6981C8F9-F2FF-49bb-9335-BDFD9B7B635F}"?>
35       
36        <Product
37                Id="*"
38                UpgradeCode="$(var.UpgradeCode)"
39                Name="$(var.ProductName)"
40                Language="1033"
41                Codepage='1252'
42                Version="$(var.ShortGMmbVersion)"
43                Manufacturer="BinaryNotions.com">
44
45                <Package
46                        Description="$(var.ProductFullName) Package"
47                        Comments="$(var.ProductFullName) Package"
48                        InstallerVersion="200"
49                        Compressed="yes"
50                        ShortNames="no"
51                        Platform="$(var.Platforms)"/>
52               
53                <Upgrade Id="$(var.UpgradeCode)">
54                        <UpgradeVersion
55                                Minimum="0.3.1"
56                                IncludeMinimum="yes"
57                                Maximum="$(var.ShortGMmbVersion)"
58                                IncludeMaximum="no"
59                                Language="1033"
60                                Property="OLDERVERSIONBEINGUPGRADED"
61                        />             
62                        <UpgradeVersion
63                                Minimum="$(var.ShortGMmbVersion)"
64                                IncludeMinimum="no"
65                                OnlyDetect="yes"
66                                Language="1033"
67                                Property="NEWPRODUCTFOUND"
68                        />
69                </Upgrade>
70
71                <Media Id="1" Cabinet="Halite.cab" EmbedCab="yes" />
72                <WixVariable Id="WixUILicenseRtf" Value="$(var.RootDirectory)LICENSE_1_0.rtf"  />
73   
74                <Property Id="INSTALLDIR">
75                        <RegistrySearch Id="MyHalitePath" Type="raw" Root="HKCU" Key="Software\Halite" Name="Path" />
76                </Property>
77               
78                <Property Id="HALITEFILECOMP">
79                        <ComponentSearch Id="HaliteExe" Guid="{CC3CF18C-FD41-4292-90BD-4EC1A2DF3EAD}">
80                                <FileSearch Name="Halite.exe"/>
81                        </ComponentSearch>
82                </Property>
83
84                <Directory Id="TARGETDIR" Name="SourceDir">
85                        <Directory Id="AppDataFolder" />
86                        <Directory Id="DesktopFolder" />
87
88                        <Directory Id="ProgramMenuFolder">       
89                                <Directory Id="HaliteProgramMenuFolder" Name="Halite">
90
91                                        <Component Id='HaliteExeStartMenuFolder' Guid="*">
92                                                <RegistryKey Root="HKCU" Key="Software\Halite\Uninstall">
93                                                        <RegistryValue
94                                                                Value="HaliteProgramMenuFolder"
95                                                                Type="string"
96                                                                KeyPath="yes" />
97                                                        </RegistryKey>
98                                                <RemoveFolder Id="RemoveShorcutFolder" On="uninstall" />           
99                                        </Component>
100                                </Directory>
101                        </Directory>
102
103                        <Directory Id="$(var.ProgFilesFolder)" Name="Files">
104                                <Directory Id="INSTALLDIR" Name="Halite">
105
106                                        <Component Id="InstallRegCU" Guid="*" DiskId="1">
107                                                <RegistryKey Root="HKCU" Key="Software\Halite">
108                                                        <RegistryValue
109                                                                Value="[INSTALLDIR]"
110                                                                Type="string"
111                                                                Name="Path"
112                                                                KeyPath="yes" />
113                                                </RegistryKey>
114                                        </Component>
115
116                                        <Component Id='ReadMeText'  Guid="*">
117                                                <File Id='Readme' Name='readme.txt' DiskId='1' Source='..\..\Readme.txt' />
118                                        </Component>
119
120                                        <Component Id='HaliteExe' Win64='$(var.Is64)' Guid='*'>
121                                                <File
122                                                        Id='Halite.exe'
123                                                        Name='Halite.exe'
124                                                        DiskId='1'
125                                                        Source='$(var.RootDirectory)$(var.ReleaseFolder)Halite.exe'
126                                                        KeyPath="yes"
127                                                >
128                                                        <Shortcut Id="desktopHaliteFile" Directory="DesktopFolder" Name="Halite"
129                                                                WorkingDirectory='INSTALLDIR' Advertise="yes" Icon="HaliteIcon.exe" IconIndex="0" />
130                                                        <Shortcut Id="startmenuHaliteFile" Directory="HaliteProgramMenuFolder" Name="Halite"
131                                                                WorkingDirectory='INSTALLDIR' Advertise="yes" Icon="HaliteIcon.exe" IconIndex="0" />
132                                                </File>
133
134                                                <ProgId Id='Halite.torrent' Advertise="no" Description='BitTorrent Torrent File'>
135                                                        <Extension Id='torrent' ContentType='application/torrent'>
136                                                                <Verb Id='open' Command='Open' TargetFile="Halite.exe" Argument='"%1"' />
137                                                        </Extension>
138                                                </ProgId>
139                                        </Component>
140                                       
141                                        <Component Id="Empty" Guid="" KeyPath="yes" />
142                                       
143                                        <Component Id='LanguageFiles.Polish' Guid='*'>
144                                                <File Id='Polish' KeyPath="yes" Name='Polish.dll' DiskId='1'
145                                                      Source='$(var.RootDirectory)lang\bin\Polish.dll' />
146                                        </Component>
147                                        <Component Id='LanguageFiles.Greek' Guid='*'>
148                                                <File Id='Greek' KeyPath="yes"  Name='Greek.dll' DiskId='1'
149                                                      Source='$(var.RootDirectory)lang\bin\Greek.dll' />
150                                        </Component>
151                                        <Component Id='LanguageFiles.Dutch' Guid='*'>
152                                                <File Id='Dutch' KeyPath="yes"  Name='Dutch.dll' DiskId='1'
153                                                      Source='$(var.RootDirectory)lang\bin\Dutch.dll' />
154                                        </Component>
155
156                                </Directory>
157                        </Directory>
158                </Directory>
159
160                <Feature
161                        Id="HaliteComponents"
162                        Title="Halite (Core)"
163                        Level="1"
164                        Absent="disallow"
165                        AllowAdvertise='no'
166                        ConfigurableDirectory="INSTALLDIR"
167                >
168                        <ComponentRef Id="HaliteExe" />
169                        <ComponentRef Id="HaliteExeStartMenuFolder" />
170                        <ComponentRef Id="InstallRegCU" />
171                        <ComponentRef Id="ReadMeText" />
172                </Feature>
173               
174                <Feature
175                        Id="HaliteLanguages" Title="Languages" Level="1"        AllowAdvertise='no'
176                >
177                        <ComponentRef Id="Empty" />
178                       
179                        <Feature Id="HaliteLanguages.Dutch"
180                                Title="Dutch"
181                                Level="1000" AllowAdvertise='no' ConfigurableDirectory="INSTALLDIR"
182                        >
183                                <ComponentRef Id="LanguageFiles.Dutch" />
184                        </Feature>
185                        <Feature Id="HaliteLanguages.Greek"
186                                Title="Greek"
187                                Level="1000" AllowAdvertise='no' ConfigurableDirectory="INSTALLDIR"
188                        >
189                                <ComponentRef Id="LanguageFiles.Greek" />
190                        </Feature>
191                        <Feature Id="HaliteLanguages.Polish"
192                                Title="Polish"
193                                Level="1000" AllowAdvertise='no' ConfigurableDirectory="INSTALLDIR"
194                        >
195                                <ComponentRef Id="LanguageFiles.Polish" />
196                        </Feature>
197                </Feature>
198
199                <CustomAction Id="PreventDowngrading" Error="A more recent version of Halite is already installed." />
200
201                <InstallExecuteSequence>
202                        <Custom Action="PreventDowngrading" After="FindRelatedProducts">
203                                NEWPRODUCTFOUND
204                        </Custom>
205
206                        <RemoveExistingProducts After="InstallFinalize" />
207                </InstallExecuteSequence>
208
209                <InstallUISequence>
210                        <Custom Action="PreventDowngrading" After="FindRelatedProducts">
211                                NEWPRODUCTFOUND
212                        </Custom>
213                </InstallUISequence>
214               
215                <Icon Id="HaliteIcon.exe" SourceFile="$(var.RootDirectory)sln\HaliteWix\WixIcon.exe" />
216
217                <UIRef Id="WixUI_FeatureTree" />   
218        </Product>
219</Wix>
Note: See TracBrowser for help on using the repository browser.