Left: | ||
Right: |
OLD | NEW |
---|---|
1 <?xml version="1.0" encoding="UTF-8"?> | 1 <?xml version="1.0" encoding="UTF-8"?> |
2 <!-- | 2 <!-- |
3 Compilation Note: | 3 Compilation Note: |
4 You may see linking errors that look like these: | 4 You may see linking errors that look like these: |
5 <quote>LGHT0217 : Error executing ICE action 'ICExx' [...] The error cod e is 2738.</quote> | 5 <quote>LGHT0217 : Error executing ICE action 'ICExx' [...] The error cod e is 2738.</quote> |
6 The documentation for this error code talks about custom actions, | 6 The documentation for this error code talks about custom actions, |
7 even though the CustomAction keyword does not appear in this source. | 7 even though the CustomAction keyword does not appear in this source. |
8 Certain WiX elements are implemented by MSI custom actions, | 8 Certain WiX elements are implemented by MSI custom actions, |
9 which means this source implicitly declares some insofar as the Windows Installer sees it. | 9 which means this source implicitly declares some insofar as the Windows Installer sees it. |
10 These errors are benign and can be avoided by some fiddling with the registr y on the development machine. | 10 These errors are benign and can be avoided by some fiddling with the registr y on the development machine. |
11 See http://wix.sourceforge.net/faq.html#Error217 | 11 See http://wix.sourceforge.net/faq.html#Error217 |
12 --> | 12 --> |
13 <!-- | 13 <!-- |
14 These definitions enable compiling multiple versions & Product ID's from the same file. | 14 These definitions enable compiling multiple versions & Product ID's from the same file. |
15 This is to allow testing upgrade features without having to switch back and forth between working copies. | 15 This is to allow testing upgrade features without having to switch back and forth between working copies. |
16 --> | 16 --> |
17 <?ifdef Version ?> | 17 <?ifdef Version ?> |
18 <!-- | 18 <!-- |
19 If we're given a version on the command line, use it. | 19 If we're given a version on the command line, use it. |
20 We use a short name on the command line for ease of use. | 20 We use a short name on the command line for ease of use. |
21 We use a longer name within this file for clarity about which "version" it is specifically | 21 We use a longer name within this file for clarity about which "version" it is specifically |
22 --> | 22 --> |
23 <?define Product_Version=$(var.Version) ?> | 23 <?define Product_Version=$(var.Version) ?> |
24 <?else?> | 24 <?else?> |
25 <!-- | 25 <?error "Version" parameter is required ?> |
26 Assert no version definition was given on the command line. | |
27 --> | |
28 <?ifdef NoDefault ?> | |
29 <?error Found "NoDefault" but no "Version" ?> | |
30 <?else?> | |
31 <!-- The default version --> | |
32 <?define Product_Version="0.8.1" ?> | |
33 <?endif?> | |
34 <?endif?> | 26 <?endif?> |
35 | 27 |
36 <!-- | 28 <?ifndef Configuration ?> |
37 Convenience link for obtaining a new GUID, required at each version incremen t. | 29 <?error "Configuration" parameter is required ?> |
38 http://www.newguid.com/ | |
39 --> | |
40 <?if $(var.Product_Version)="0.8.1" ?> | |
41 <!-- Default version --> | |
42 <?define Product_ID="3caab5a9-43a7-4a57-8373-b7d0952b709c" ?> | |
43 <?elseif $(var.Product_Version)="0.8.2" ?> | |
44 <?define Product_ID="794cdc54-95ae-4513-b2d7-2a01103a7c97" ?> | |
45 <?else?> | |
46 <?error Unknown product version="$(var.Product_Version)" ?> | |
47 <?endif?> | 30 <?endif?> |
48 | 31 |
32 <?define Product_ID="3caab5a9-43a7-4a57-8373-b7d0952b709c" ?> | |
Eric
2013/06/11 15:41:46
We'll need that second Product_ID soon enough for
Wladimir Palant
2013/06/12 09:46:34
We can just change the product ID when we implemen
| |
33 | |
49 <!-- | 34 <!-- |
50 sys.BUILDARCH is set by the command line argument '-arch'. | 35 sys.BUILDARCH is set by the command line argument '-arch'. |
51 The default value to "x86" | 36 The default value to "x86" |
52 --> | 37 --> |
53 <?if $(sys.BUILDARCH)="x86"?> | 38 <?if $(sys.BUILDARCH)="x86"?> |
54 <?define Minimum_Version="100"?> | 39 <?define Minimum_Version="100"?> |
55 <?define Program_Files="ProgramFilesFolder"?> | 40 <?define Program_Files="ProgramFilesFolder"?> |
56 <?define Product_Name="!(loc.ProductName32)"?> | 41 <?define Product_Name="!(loc.ProductName32)"?> |
57 <?elseif $(sys.BUILDARCH)="x64"?> | 42 <?elseif $(sys.BUILDARCH)="x64"?> |
58 <?define Minimum_Version="200"?> | 43 <?define Minimum_Version="200"?> |
59 <?define Program_Files="ProgramFiles64Folder"?> | 44 <?define Program_Files="ProgramFiles64Folder"?> |
60 <?define Product_Name="!(loc.ProductName64)"?> | 45 <?define Product_Name="!(loc.ProductName64)"?> |
61 <?else?> | 46 <?else?> |
62 <?error Unsupported value of sys.BUILDARCH=$(sys.BUILDARCH)?> | 47 <?error Unsupported value of sys.BUILDARCH=$(sys.BUILDARCH)?> |
63 <?endif?> | 48 <?endif?> |
64 | 49 |
65 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> | 50 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> |
66 <Product | 51 <Product |
67 Name="$(var.Product_Name)" | 52 Name="$(var.Product_Name)" |
68 Manufacturer="Eyeo GmbH" | 53 Manufacturer="Eyeo GmbH" |
69 Version="$(var.Product_Version)" | 54 Version="$(var.Product_Version)" |
70 Language="!(loc.LANG)" Codepage="1252" | 55 Language="!(loc.LANG)" Codepage="1252" |
71 Id="$(var.Product_ID)" | 56 Id="$(var.Product_ID)" |
72 UpgradeCode="3a8e3ab4-762d-4641-806e-2dccb953d73f"> | 57 UpgradeCode="3a8e3ab4-762d-4641-806e-2dccb953d73f"> |
73 | 58 |
74 <Package Id="*" | 59 <Package Id="*" |
75 Keywords="!(loc.Keywords)" | 60 Keywords="!(loc.Keywords)" |
76 Description="!(loc.Description)" | 61 Description="!(loc.Description)" |
77 Comments="!(loc.Comments)" | 62 Comments="!(loc.Comments)" |
78 InstallerVersion="$(var.Minimum_Version)" | 63 InstallerVersion="$(var.Minimum_Version)" |
79 Languages="!(loc.LANG)" SummaryCodepage="!(loc.CODEPAGE)" | 64 Languages="!(loc.LANG)" SummaryCodepage="!(loc.CODEPAGE)" |
80 Compressed="yes" | 65 Compressed="yes" |
81 InstallScope="perMachine" InstallPrivileges="elevated" | 66 InstallScope="perMachine" InstallPrivileges="elevated" |
82 /> | 67 /> |
83 <!-- | 68 <!-- |
84 The MajorUgrade tag allows us to specify the relationship between ou r version number and the one installed. | 69 The MajorUgrade tag allows us to specify the relationship between ou r version number and the one installed. |
85 The attribute AllowDowngrades="yes" permits our version number to be lower than the one installed. | 70 The attribute AllowDowngrades="yes" permits our version number to be lower than the one installed. |
86 The attribute Disallow="no" (the default) permits our version number to be higher than the one installed. | 71 The attribute Disallow="no" (the default) permits our version number to be higher than the one installed. |
87 For development releases (at least), we permit both cases. | 72 For development releases (at least), we permit both cases. |
88 For general releases, at present we also permit both. | 73 For general releases, at present we also permit both. |
89 | 74 |
90 The @Schedule attribute looks a little opaque. | 75 The @Schedule attribute looks a little opaque. |
91 Suffice it to say that it's the only option for scheduling where uni nstallation of the previous version | 76 Suffice it to say that it's the only option for scheduling where uni nstallation of the previous version |
92 and installation of the present version is _always_ going to act atomically. | 77 and installation of the present version is _always_ going to act atomically. |
93 It's a shame that you to even explicitly make that choice. | 78 It's a shame that you to even explicitly make that choice. |
94 --> | 79 --> |
95 <MajorUpgrade | 80 <MajorUpgrade |
96 AllowDowngrades="yes" | 81 AllowDowngrades="yes" |
97 Schedule="afterInstallExecute" | 82 Schedule="afterInstallExecute" |
98 /> | 83 /> |
99 <MediaTemplate EmbedCab="yes"/> | 84 <MediaTemplate EmbedCab="yes"/> |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
169 Name="AppDataFolder" Type="string" | 154 Name="AppDataFolder" Type="string" |
170 Value="[ABP_APPDATA_FOLDER]"/> | 155 Value="[ABP_APPDATA_FOLDER]"/> |
171 </Component> | 156 </Component> |
172 <!-- | 157 <!-- |
173 Testing the 32-bit install on a 64 bit OS will cause these entries t o be written under Wow6432Node. | 158 Testing the 32-bit install on a 64 bit OS will cause these entries t o be written under Wow6432Node. |
174 It should be transparent to the application code, but in case it's n ot ... | 159 It should be transparent to the application code, but in case it's n ot ... |
175 See http://stackoverflow.com/questions/1882024/wix-will-not-add-hklm -registry-setting-during-windows-7-install | 160 See http://stackoverflow.com/questions/1882024/wix-will-not-add-hklm -registry-setting-during-windows-7-install |
176 --> | 161 --> |
177 <Property Id="INSTALLFOLDER"> | 162 <Property Id="INSTALLFOLDER"> |
178 <RegistrySearch Id="Registry_Read_Install_Folder" | 163 <RegistrySearch Id="Registry_Read_Install_Folder" |
179 Root="HKLM" Key="Software\Adblock Plus for IE\0.8.0" | 164 Root="HKLM" Key="Software\Adblock Plus for IE\$(var.Product_Vers ion)" |
180 Name="InstallFolder" Type="raw"/> | 165 Name="InstallFolder" Type="raw"/> |
181 </Property> | 166 </Property> |
182 <Component Id="Install_Folder.component" Directory="INSTALLFOLDER"> | 167 <Component Id="Install_Folder.component" Directory="INSTALLFOLDER"> |
183 <RegistryKey Root="HKLM" Key="Software\Adblock Plus for IE"> | 168 <RegistryKey Root="HKLM" Key="Software\Adblock Plus for IE"> |
184 <RegistryKey Key="0.8.0"> | 169 <RegistryKey Key="$(var.Product_Version)"> |
185 <RegistryValue | 170 <RegistryValue |
186 Name="InstallFolder" Type="string" | 171 Name="InstallFolder" Type="string" |
187 Value="[INSTALLFOLDER]"/> | 172 Value="[INSTALLFOLDER]"/> |
188 </RegistryKey> | 173 </RegistryKey> |
189 </RegistryKey> | 174 </RegistryKey> |
190 </Component> | 175 </Component> |
191 | 176 |
192 | 177 |
193 <!-- | 178 <!-- |
194 The top-level directory structure. | 179 The top-level directory structure. |
(...skipping 30 matching lines...) Expand all Loading... | |
225 The present installer is a per-machine installer. | 210 The present installer is a per-machine installer. |
226 That means it writes to HKEY_LOCAL_MACHINE, so that all users on the machine will have the BHO installed. | 211 That means it writes to HKEY_LOCAL_MACHINE, so that all users on the machine will have the BHO installed. |
227 It's possible to write keys to HKEY_CURRENT_USER in a situation wher e that's not desirable, if needed. | 212 It's possible to write keys to HKEY_CURRENT_USER in a situation wher e that's not desirable, if needed. |
228 --> | 213 --> |
229 <ComponentGroup Id="Binaries" Directory="INSTALLFOLDER"> | 214 <ComponentGroup Id="Binaries" Directory="INSTALLFOLDER"> |
230 <!-- | 215 <!-- |
231 The 32-bit version of the DLL is included in both 32- and 64-bit installers. | 216 The 32-bit version of the DLL is included in both 32- and 64-bit installers. |
232 We need an explicit value for attribute @Win64 so that the ARCH argument does not override its implicit value. | 217 We need an explicit value for attribute @Win64 so that the ARCH argument does not override its implicit value. |
233 --> | 218 --> |
234 <Component Id="AdblockPlus32.dll" Win64="no"> | 219 <Component Id="AdblockPlus32.dll" Win64="no"> |
235 <File Id="AdblockPlus32.dll" Source="..\build\ia32\Release Produ ction\AdblockPlus.dll" KeyPath="yes" Checksum="yes"> | 220 <File Id="AdblockPlus32.dll" Source="..\build\ia32\$(var.Configu ration)\AdblockPlus.dll" KeyPath="yes" Checksum="yes"> |
236 <?include dll_class.wxi ?> | 221 <?include dll_class.wxi ?> |
237 </File> | 222 </File> |
238 <?include bho_registry_value.wxi ?> | 223 <?include bho_registry_value.wxi ?> |
239 </Component> | 224 </Component> |
240 <!-- | 225 <!-- |
241 The 64-bit version of the DLL is only included in the 64-bit ins taller. | 226 The 64-bit version of the DLL is only included in the 64-bit ins taller. |
242 We don't really need an explicit value for attribute @Win64, but it's there for resilience. | 227 We don't really need an explicit value for attribute @Win64, but it's there for resilience. |
243 | 228 |
244 Note that the <Class> element and the <RegistryKey> element are duplicated from the 32-bit version. | 229 Note that the <Class> element and the <RegistryKey> element are duplicated from the 32-bit version. |
245 We use "include" directives to ensure that they are identical. | 230 We use "include" directives to ensure that they are identical. |
246 They have to be the same to support both the 32- and 64-bit vers ions of Internet Explorer on a 64-bit system. | 231 They have to be the same to support both the 32- and 64-bit vers ions of Internet Explorer on a 64-bit system. |
247 IE uses the same algorithm to search for BHO regardless of platf orm, | 232 IE uses the same algorithm to search for BHO regardless of platf orm, |
248 so with two versions of IE, we need two identical registrati ons. | 233 so with two versions of IE, we need two identical registrati ons. |
249 The 32-bit version on a 64-bit system will be registered under " Wow6432Node" translated keys, | 234 The 32-bit version on a 64-bit system will be registered under " Wow6432Node" translated keys, |
250 while the 64-bit version will be under the keys as they appe ar in this source, not translated. | 235 while the 64-bit version will be under the keys as they appe ar in this source, not translated. |
251 We don't need to put in the "Wow6432Node" registry key explicitl y; | 236 We don't need to put in the "Wow6432Node" registry key explicitl y; |
252 something in Windows Installer takes care of the mapping tra nsparently. | 237 something in Windows Installer takes care of the mapping tra nsparently. |
253 --> | 238 --> |
254 <?if $(sys.BUILDARCH)="x64"?> | 239 <?if $(sys.BUILDARCH)="x64"?> |
255 <Component Id="AdblockPlus64.dll" Win64="yes"> | 240 <Component Id="AdblockPlus64.dll" Win64="yes"> |
256 <File Id="AdblockPlus64.dll" Source="..\build\x64\Release Pr oduction\AdblockPlusx64.dll" KeyPath="yes" Checksum="yes"> | 241 <File Id="AdblockPlus64.dll" Source="..\build\x64\$(var.Conf iguration)\AdblockPlusx64.dll" KeyPath="yes" Checksum="yes"> |
257 <?include dll_class.wxi ?> | 242 <?include dll_class.wxi ?> |
258 </File> | 243 </File> |
259 <?include bho_registry_value.wxi ?> | 244 <?include bho_registry_value.wxi ?> |
260 </Component> | 245 </Component> |
261 <?endif?> | 246 <?endif?> |
262 | 247 |
263 <!-- | 248 <!-- |
264 The engine must go into the same directory as the DLL, since tha t location is searched explicitly (and uniquely). | 249 The engine must go into the same directory as the DLL, since tha t location is searched explicitly (and uniquely). |
265 --> | 250 --> |
266 <?if $(sys.BUILDARCH)="x86"?> | 251 <?if $(sys.BUILDARCH)="x86"?> |
267 <Component Id="AdblockPlusEngine.exe" Win64="no"> | 252 <Component Id="AdblockPlusEngine.exe" Win64="no"> |
268 <File Id="AdblockPlusEngine.exe" Source="..\build\ia32\Relea se Production\AdblockPlusEngine.exe" KeyPath="yes" Checksum="yes"/> | 253 <File Id="AdblockPlusEngine.exe" Source="..\build\ia32\$(var .Configuration)\AdblockPlusEngine.exe" KeyPath="yes" Checksum="yes"/> |
269 </Component> | 254 </Component> |
270 <?elseif $(sys.BUILDARCH)="x64"?> | 255 <?elseif $(sys.BUILDARCH)="x64"?> |
271 <Component Id="AdblockPlusEngine.exe" Win64="yes"> | 256 <Component Id="AdblockPlusEngine.exe" Win64="yes"> |
272 <File Id="AdblockPlusEngine.exe" Source="..\build\x64\Releas e Production\AdblockPlusEngine.exe" KeyPath="yes" Checksum="yes"/> | 257 <File Id="AdblockPlusEngine.exe" Source="..\build\x64\$(var. Configuration)\AdblockPlusEngine.exe" KeyPath="yes" Checksum="yes"/> |
273 </Component> | 258 </Component> |
274 <?endif?> | 259 <?endif?> |
275 </ComponentGroup> | 260 </ComponentGroup> |
276 | 261 |
277 <!-- | 262 <!-- |
278 The HTML_Tree component group contains all the files in the HTML fol der. | 263 The HTML_Tree component group contains all the files in the HTML fol der. |
279 Individual file entries within a single component group must all be in the same directory. | 264 Individual file entries within a single component group must all be in the same directory. |
280 Also, ComponentGroup is not a valid child of ComponentGroup, so subd irectories are linked by reference. | 265 Also, ComponentGroup is not a valid child of ComponentGroup, so subd irectories are linked by reference. |
281 --> | 266 --> |
282 <ComponentGroup Id="HTML_Tree"> | 267 <ComponentGroup Id="HTML_Tree"> |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
368 <ComponentGroup Id="INI_Files"> | 353 <ComponentGroup Id="INI_Files"> |
369 <ComponentRef Id="ini_settings.ini"/> | 354 <ComponentRef Id="ini_settings.ini"/> |
370 </ComponentGroup> | 355 </ComponentGroup> |
371 <DirectoryRef Id="ABP_APPDATA_FOLDER"> | 356 <DirectoryRef Id="ABP_APPDATA_FOLDER"> |
372 <Directory Id="ini" FileSource="SourceDir\..\files"> | 357 <Directory Id="ini" FileSource="SourceDir\..\files"> |
373 <Component Id="ini_settings.ini"><File Name="settings.ini"/></Co mponent> | 358 <Component Id="ini_settings.ini"><File Name="settings.ini"/></Co mponent> |
374 </Directory> | 359 </Directory> |
375 </DirectoryRef> | 360 </DirectoryRef> |
376 </Product> | 361 </Product> |
377 </Wix> | 362 </Wix> |
OLD | NEW |