Changeset 750


Ignore:
Timestamp:
05/04/09 19:05:20 (10 years ago)
Author:
Eoin
Message:

Wix code vastly improved. Now supports upgrades correctly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sln/HaliteWix/Product.wxs

    r737 r750  
    33<?define VerGeneration = "0" ?> 
    44<?define VerMajor = "3" ?> 
    5 <?define VerMinor = "1" ?> 
    6 <?define VerUpdate = "7" ?> 
    7 <?define VerBuild = "0735" ?> 
    8  
    9 <?define FullGMmbVersion = "$(var.VerGeneration).$(var.VerMajor).$(var.VerMinor).$(var.VerUpdate) Build $(var.VerBuild)" ?> 
    10 <?define ShortGMmbVersion = "$(var.VerMajor).$(var.VerMinor).$(var.VerUpdate)" ?> 
    11 <?define UpgradeMinVer = "0.3.1" ?> 
     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)" ?> 
    1210 
    1311<?if $(var.MyCPU) = "x64" ?> 
    14 <?define CpuId = "2" ?> 
    15 <?define ProgFilesFolder = "ProgramFiles64Folder" ?> 
    16 <?define Platforms = "x64" ?> 
    17 <?define CpuPostfix = " (x64 edition)" ?> 
    18 <?define Is64 = "yes" ?> 
    19 <?define ReleaseFolder = "x64\$(var.Configuration)\" ?> 
     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)\" ?> 
    2018<?else ?> 
    21 <?define CpuId = "1" ?> 
    22 <?define ProgFilesFolder = "ProgramFilesFolder" ?> 
    23 <?define Platforms = "x86" ?> 
    24 <?define CpuPostfix = "" ?> 
    25 <?define Is64 = "no" ?> 
    26 <?define ReleaseFolder = "$(var.Configuration)\" ?> 
     19        <?define CpuId = "1" ?> 
     20        <?define ProgFilesFolder = "ProgramFilesFolder" ?> 
     21        <?define Platforms = "x86" ?> 
     22        <?define CpuPostfix = "" ?> 
     23        <?define Is64 = "no" ?> 
     24        <?define ReleaseFolder = "$(var.Configuration)\" ?> 
    2725<?endif ?> 
    2826 
     
    3028<?define ProductFullName = "$(var.ProductName) $(var.FullGMmbVersion)$(var.CpuPostfix)" ?> 
    3129 
     30<?define RootDirectory = "$(var.ProjectDir)\..\..\" ?> 
     31 
    3232<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    33   <Product 
    34       Id="{A57126CE-C58C-4adf-A951-12A63559CB94}" 
    35       UpgradeCode="45A10CBE-B399-48E5-865E-DBCE99A411E5" 
    36       Name="$(var.ProductName)" 
    37       Language="1033" 
    38       Version="$(var.ShortGMmbVersion)" 
    39       Manufacturer="BinaryNotions.com"> 
    40  
    41       <Package 
    42           Description="$(var.ProductFullName) Package" 
    43           Comments="$(var.ProductFullName) Package" 
    44           InstallerVersion="200" 
    45           Compressed="yes" 
    46           ShortNames="no" 
    47           Platform="$(var.Platforms)" 
    48         /> 
     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> 
    4970 
    5071                <Media Id="1" Cabinet="Halite.cab" EmbedCab="yes" /> 
     72                <WixVariable Id="WixUILicenseRtf" Value="$(var.RootDirectory)LICENSE_1_0.rtf"  /> 
    5173     
    52     <Property Id="INSTALLDIR"> 
    53       <RegistrySearch Id="MyHalitePath" Type="raw" Root="HKCU" Key="Software\Halite" Name="Path" /> 
    54     </Property> 
    55  
    56     <Directory Id="TARGETDIR" Name="SourceDir"> 
    57       <Directory Id="AppDataFolder" /> 
    58       <Directory Id="DesktopFolder" /> 
    59  
    60       <Directory Id="ProgramMenuFolder">         
    61         <Directory Id="HaliteProgramMenuFolder" Name="Halite"> 
    62            
    63           <Component Id='HaliteExeStartMenuFolder' Guid='{D6B80025-50FC-4760-89B2-72340616AD19}'> 
    64             <RegistryKey Root="HKCU" Key="Software\Halite\Uninstall"> 
    65               <RegistryValue Value="HaliteProgramMenuFolder" 
    66                              Type="string" 
    67                              KeyPath="yes" /> 
    68               </RegistryKey> 
    69             <RemoveFolder Id="RemoveShorcutFolder" On="uninstall" />             
    70           </Component> 
    71            
    72         </Directory> 
    73       </Directory> 
    74  
    75       <Directory Id="$(var.ProgFilesFolder)" Name="Files"> 
    76         <Directory Id="INSTALLDIR" Name="Halite"> 
    77  
    78           <Component Id="InstallRegCU" Guid="{CE5457FD-CD23-48e6-A54E-4004E936AA86}" DiskId="1" Win64="$(var.Is64)"> 
    79             <RegistryKey Root="HKCU" Key="Software\Halite"> 
    80               <RegistryValue Value="[INSTALLDIR]" 
    81                              Type="string" 
    82                               Name="Path" 
    83                              KeyPath="yes" /> 
    84             </RegistryKey> 
    85           </Component> 
    86  
    87           <Component Id='ReadMeText' Win64='$(var.Is64)' Guid='0E8E2FD3-7658-4429-BBD1-BBDF76E99D71'> 
    88             <File Id='Readme' Name='readme.txt' DiskId='1' Source='..\..\Readme.txt' /> 
    89           </Component> 
    90  
    91           <Component Id='HaliteExe' Win64='$(var.Is64)' Guid='{601CEE5B-5AE0-462f-BB19-A6FDBD520E40}'> 
    92             <File Id='HaliteFile' Name='Halite.exe' DiskId='1' Source='$(var.ProjectDir)\..\..\$(var.ReleaseFolder)Halite.exe'> 
    93               <Shortcut Id="desktopHaliteFile" Directory="DesktopFolder" Name="Halite" 
    94                   WorkingDirectory='INSTALLDIR' Advertise="yes" Icon="HaliteIcon.exe" IconIndex="0" /> 
    95               <Shortcut Id="startmenuHaliteFile" Directory="HaliteProgramMenuFolder" Name="Halite" 
    96                   WorkingDirectory='INSTALLDIR' Advertise="yes" Icon="HaliteIcon.exe" IconIndex="0" /> 
    97             </File> 
    98  
    99             <ProgId Id='Halite.torrent' Advertise="no" Description='BitTorrent Torrent File'> 
    100               <Extension Id='torrent' ContentType='application/torrent'> 
    101                 <Verb Id='open' Command='Open' TargetFile='HaliteFile' Argument='"%1"' /> 
    102               </Extension> 
    103             </ProgId> 
    104           </Component> 
    105            
     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> 
    106100                                </Directory> 
    107101                        </Directory> 
    108        
     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> 
    109158                </Directory> 
    110159 
    111     <Feature Id="HaliteComponents" Title="Halite (Core)" Level="1" Absent="disallow" AllowAdvertise='no' 
    112              ConfigurableDirectory="INSTALLDIR"> 
    113       <ComponentRef Id="HaliteExe" /> 
    114       <ComponentRef Id="HaliteExeStartMenuFolder" /> 
    115       <ComponentRef Id="InstallRegCU" /> 
    116       <ComponentRef Id="ReadMeText" /> 
    117     </Feature> 
    118  
    119     <Icon Id="HaliteIcon.exe" SourceFile="$(var.ProjectDir)\..\..\$(var.ReleaseFolder)Halite.exe" /> 
    120  
    121     <UIRef Id="WixUI_FeatureTree" /> 
    122      
     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" />     
    123218        </Product> 
    124219</Wix> 
Note: See TracChangeset for help on using the changeset viewer.