| Index: installer/src/msi/adblockplusie.wxs |
| =================================================================== |
| rename from installer/adblockplusie.wxs |
| rename to installer/src/msi/adblockplusie.wxs |
| --- a/installer/adblockplusie.wxs |
| +++ b/installer/src/msi/adblockplusie.wxs |
| @@ -8,7 +8,9 @@ |
| Certain WiX elements are implemented by MSI custom actions, |
| which means this source implicitly declares some insofar as the Windows Installer sees it. |
| These errors are benign and can be avoided by some fiddling with the registry on the development machine. |
| - See http://wix.sourceforge.net/faq.html#Error217 |
| + See http://blogs.msdn.com/b/heaths/archive/2007/05/31/windows-installer-errors-2738-and-2739-with-script-custom-actions.aspx |
| + and http://blogs.msdn.com/b/astebner/archive/2007/06/07/3151752.aspx, |
| + both taken from (must use the Wayback Machine) http://wix.sourceforge.net/faq.html#Error217 |
| --> |
| <!-- |
| These definitions enable compiling multiple versions & Product ID's from the same file. |
| @@ -30,6 +32,17 @@ |
| <?endif?> |
| <!-- |
| + CA_Configuration is the Visual Studio configuration for the Custom Action library. |
| + It's set to "Debug" while the installer with a CA is in development. |
| + TODO. |
| + First, set this variable based on the configuration in the VS solution. |
| + Second, change the default to "Release" (or perhaps an error). |
| +--> |
| +<?ifndef CA_Configuration?> |
| + <?define CA_Configuration="Release" ?> |
| +<?endif?> |
| + |
| +<!-- |
| sys.BUILDARCH is set by the command line argument '-arch'. |
| The default value to "x86" |
| --> |
| @@ -37,15 +50,29 @@ |
| <?define Minimum_Version="100"?> |
| <?define Program_Files="ProgramFilesFolder"?> |
| <?define Product_Name="!(loc.ProductName32)"?> |
| + <?define build_dir="ia32"?> |
| <?elseif $(sys.BUILDARCH)="x64"?> |
| <?define Minimum_Version="200"?> |
| <?define Program_Files="ProgramFiles64Folder"?> |
| <?define Product_Name="!(loc.ProductName64)"?> |
| + <?define build_dir="x64"?> |
| <?else?> |
| <?error Unsupported value of sys.BUILDARCH=$(sys.BUILDARCH)?> |
| <?endif?> |
| +<!-- |
| + The current directory when the compiler runs is "installer/build/<arch>". |
| + Most assets are based in the root directory, three levels up. |
| + The custom action library is base in the installer directory, two levels up. |
| +--> |
| +<?define plugin_dir="..\..\.." ?> |
| +<?define installer_dir="..\.." ?> |
| + |
| <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> |
| + <!-- |
| + The attributes 'Language' and 'Codepage' are specifications for the database only. |
| + Codepage 65001 is UTF-8. |
| + --> |
| <Product |
| Name="$(var.Product_Name)" |
| Manufacturer="Eyeo GmbH" |
| @@ -54,12 +81,38 @@ |
| Id="*" |
| UpgradeCode="3a8e3ab4-762d-4641-806e-2dccb953d73f"> |
| + <!-- |
| + Attribute @Languages |
| + The list contains all the languages supported within the MSI, all but the first as embedded transforms. |
| + The first language code is the language of the base MSI. |
| + --> |
| + <!-- |
| + At the present time, we are not localizing the summary information because of limitations |
| + both in Windows Installer and in the tool chain. |
| + At a later time, localizing this section requires setting an ANSI codepage |
| + and the four attributes Keywords, Description, Comments, and Manufacturer. |
| + --> |
| + <!-- |
| + For the present version, the following languages are omitted because the WiX UI extension has no localizations for them yet. |
| + They can be added later, but the build script needs to be changed to accept arguments for the extra localization source. |
| + fil-PH. Filipino - Phillipines. LCID = 1124 |
| + kn-IN. Kanada - India. LCID = 1099 |
| + mr-IN. Maratha - India. LCID = 1102 |
| + ms. Malaysian - generic. LCID = 62 |
| + nn-NO. Nynorsk - Norway. LCID = 2068 |
| + ur-PK. Urdu - Pakistan. LCID = 1056 |
| + They are being omitted by having their decimal LCID left out of the Packages/@Languages attribute below. |
| + The build system presently embeds transforms for them, but without their LCID in this list, they won't be recognized. |
| + These embedded transforms, however, can be explicitly applied on the command line of msiexec. |
| + --> |
| <Package |
| - Keywords="!(loc.Keywords)" |
| - Description="!(loc.Description)" |
| - Comments="!(loc.Comments)" |
| + SummaryCodepage="1252" |
| + Keywords="Installer, Adblock Plus" |
| + Description="Adblock Plus for IE" |
| + Comments="Thank you for using Adblock Plus." |
| + Manufacturer="Eyeo GmbH" |
| InstallerVersion="$(var.Minimum_Version)" |
| - Languages="!(loc.LANG)" SummaryCodepage="!(loc.CODEPAGE)" |
| + Languages="9,1,7,12,16,19,1026,1027,1029,1030,1032,1034,1035,1037,1038,1041,1044,1045,1046,1048,1049,1050,1051,1053,1054,1055,1058,1061,2052,2070" |
| Compressed="yes" |
| InstallScope="perMachine" InstallPrivileges="elevated" |
| /> |
| @@ -69,7 +122,6 @@ |
| implied and allows major upgrades to be performed. Downgrades aren't |
| allowed by default. |
| - |
| The @Schedule attribute looks a little opaque. |
| Suffice it to say that it's the only option for scheduling where uninstallation of the previous version |
| and installation of the present version is _always_ going to act atomically. |
| @@ -94,8 +146,7 @@ |
| The "CustomAction" tag defines the tag itself, but doesn't sequence it; |
| it defines an entry in the "CustomAction" table. |
| The "Binary" tag describe an asset that's incorporated into the MSI but that is not an installed component. |
| - The "Custom" tag defines the sequencing of an action; |
| - it defines an entry in one of the sequence tables (there are six). |
| + The "Custom" tag defines when the action executes by defining an entry in one of the sequence tables. |
| Attribute "Return" sets the "Custom Action Return Processing Options" to zero, |
| which indicates to block the installer until the action completes |
| @@ -104,10 +155,14 @@ |
| <CustomAction |
| Id="Close_IE" |
| BinaryKey="installer_ca" |
| - DllEntry="abp_close_applications" |
| + DllEntry="abp_close_ie" |
| Return="check" |
| /> |
| - <Binary Id="installer_ca" SourceFile="build\ia32\Debug\installer-ca.dll"/> |
| + <!-- |
| + We require a 32-bit DLL for the 32-bit installer, and likewise for 64-bit. |
| + The 64-bit Close_IE action needs to examine 64-bit processes on the system, which are invisible to 32-bit processes. |
| + --> |
| + <Binary Id="installer_ca" SourceFile="$(var.installer_dir)\build\$(var.build_dir)\$(var.CA_Configuration)\installer-ca.dll"/> |
| <InstallUISequence> |
| <!-- |
| The LaunchConditions action occurs near the beginning, before any of the expensive operations. |
| @@ -244,7 +299,7 @@ |
| We need an explicit value for attribute @Win64 so that the ARCH argument does not override its implicit value. |
| --> |
| <Component Id="AdblockPlus32.dll" Guid="d9a35780-d712-11e2-8b8b-0800200c9a66" Win64="no"> |
| - <File Id="AdblockPlus32.dll" Name="AdblockPlus32.dll" Source="..\build\ia32\$(var.Configuration)\AdblockPlus.dll" KeyPath="yes" Checksum="yes"> |
| + <File Id="AdblockPlus32.dll" Name="AdblockPlus32.dll" Source="$(var.plugin_dir)\build\ia32\$(var.Configuration)\AdblockPlus.dll" KeyPath="yes" Checksum="yes"> |
| <?include dll_class.wxi ?> |
| </File> |
| <?include bho_registry_value.wxi ?> |
| @@ -265,7 +320,7 @@ |
| --> |
| <?if $(sys.BUILDARCH)="x64"?> |
| <Component Id="AdblockPlus64.dll" Guid="ed77a2c0-d712-11e2-8b8b-0800200c9a66" Win64="yes"> |
| - <File Id="AdblockPlus64.dll" Name="AdblockPlus64.dll" Source="..\build\x64\$(var.Configuration)\AdblockPlus.dll" KeyPath="yes" Checksum="yes"> |
| + <File Id="AdblockPlus64.dll" Name="AdblockPlus64.dll" Source="$(var.plugin_dir)\build\x64\$(var.Configuration)\AdblockPlus.dll" KeyPath="yes" Checksum="yes"> |
| <?include dll_class.wxi ?> |
| </File> |
| <?include bho_registry_value.wxi ?> |
| @@ -277,11 +332,11 @@ |
| --> |
| <?if $(sys.BUILDARCH)="x86"?> |
| <Component Id="AdblockPlusEngine.exe" Guid="f45572c0-d712-11e2-8b8b-0800200c9a66" Win64="no"> |
| - <File Id="AdblockPlusEngine.exe" Source="..\build\ia32\$(var.Configuration)\AdblockPlusEngine.exe" KeyPath="yes" Checksum="yes"/> |
| + <File Id="AdblockPlusEngine.exe" Source="$(var.plugin_dir)\build\ia32\$(var.Configuration)\AdblockPlusEngine.exe" KeyPath="yes" Checksum="yes"/> |
| </Component> |
| <?elseif $(sys.BUILDARCH)="x64"?> |
| <Component Id="AdblockPlusEngine.exe" Guid="fa8d65d0-d712-11e2-8b8b-0800200c9a66" Win64="yes"> |
| - <File Id="AdblockPlusEngine.exe" Source="..\build\x64\$(var.Configuration)\AdblockPlusEngine.exe" KeyPath="yes" Checksum="yes"/> |
| + <File Id="AdblockPlusEngine.exe" Source="$(var.plugin_dir)\build\x64\$(var.Configuration)\AdblockPlusEngine.exe" KeyPath="yes" Checksum="yes"/> |
| </Component> |
| <?endif?> |
| </ComponentGroup> |
| @@ -322,7 +377,7 @@ |
| </ComponentGroup> |
| <DirectoryRef Id="HTML_Folder"> |
| - <Directory Id="html" FileSource="..\html"> |
| + <Directory Id="html" FileSource="$(var.plugin_dir)\html"> |
| <Directory Name="static" Id="html_static"> |
| <Directory Name="css" Id="html_static_css"> |
| <Component Id="html_static_css_firstRun.css" Guid="facb02d0-f073-11e2-b778-0800200c9a66"> |
| @@ -510,7 +565,7 @@ |
| <ComponentRef Id="locales_zu.ini"/> |
| </ComponentGroup> |
| <DirectoryRef Id="Locales_Folder"> |
| - <Directory Id="locales" FileSource="..\locales"> |
| + <Directory Id="locales" FileSource="$(var.plugin_dir)\locales"> |
| <Component Id="locales_af.ini" Guid="0311a948-3e76-45e8-83c0-8455fa9083b7"> |
| <RemoveFile Id="af.ini" Name="af.ini" On="install"/> |
| </Component> |
| @@ -765,11 +820,14 @@ |
| <ComponentRef Id="ini_settings.ini"/> |
| </ComponentGroup> |
| <DirectoryRef Id="ABP_APPDATA_FOLDER"> |
| - <Directory Id="ini" FileSource="..\files"> |
| + <Directory Id="ini" FileSource="$(var.plugin_dir)\files"> |
| <Component Id="ini_settings.ini" Guid="dc30c3b0-d713-11e2-8b8b-0800200c9a66"> |
| <File Name="settings.ini"/> |
| </Component> |
| </Directory> |
| </DirectoryRef> |
| + |
| + <?include ../installer-lib/custom-i18n.wxi ?> |
| + <?include ../custom-action/close_ie.wxi ?> |
| </Product> |
| </Wix> |