| Index: installer/src/installer-lib/test/test-installer-lib.wxs | 
| =================================================================== | 
| new file mode 100644 | 
| --- /dev/null | 
| +++ b/installer/src/installer-lib/test/test-installer-lib.wxs | 
| @@ -0,0 +1,126 @@ | 
| +<?xml version="1.0" encoding="UTF-8"?> | 
| +<?define installer_dir="..\.." ?> | 
| +<?define CA_Configuration="Release" ?> | 
| + | 
| +<?if $(sys.BUILDARCH)="x86"?> | 
| +  <?define Program_Files="ProgramFilesFolder"?> | 
| +  <?define Product_Name="!(loc.ProductName32)"?> | 
| +  <?define build_dir="ia32"?> | 
| +<?elseif $(sys.BUILDARCH)="x64"?> | 
| +  <?define Program_Files="ProgramFiles64Folder"?> | 
| +  <?define Product_Name="!(loc.ProductName64)"?> | 
| +  <?define build_dir="x64"?> | 
| +<?else?> | 
| +  <?error Unsupported value of sys.BUILDARCH=$(sys.BUILDARCH)?> | 
| +<?endif?> | 
| + | 
| +<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="ABP Installer Library Test MSI" | 
| +    Manufacturer="Eyeo GmbH" | 
| +    Version="1.0" | 
| +    Language="9" Codepage="1252" | 
| +    Id="*" | 
| +    UpgradeCode="8D94C7AB-91B3-4A5B-A013-FB01DCC20C58"> | 
| +    <Package | 
| +      SummaryCodepage="1252" | 
| +      Keywords="Installer, Adblock Plus" | 
| +      Description="Adblock Plus for IE" | 
| +      Comments="Thank you for using Adblock Plus." | 
| +      Manufacturer="Eyeo GmbH" | 
| +      InstallerVersion="200" | 
| +      Languages="0" | 
| +      Compressed="yes" | 
| +      InstallScope="perMachine" InstallPrivileges="elevated" | 
| +    /> | 
| +    <MediaTemplate EmbedCab="yes"/> | 
| + | 
| +    <!-- | 
| +      User interface | 
| +    --> | 
| +    <UIRef Id="WixUI_ErrorProgressText"/> | 
| +    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/> | 
| + | 
| +    <!-- | 
| +      Define and schedule a "Custom Action Type 1" to ensure that IE is closed before installation. | 
| +      Because WiX is closely tied to the MSI database format, there are multiple tags required to do this. | 
| +      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 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 | 
| +        and to treat a non-zero return value from the action as an error. | 
| +    --> | 
| +    <CustomAction | 
| +        Id="Sandbox" | 
| +        BinaryKey="installer_library_test_ca" | 
| +        DllEntry="sandbox" | 
| +        Return="check" | 
| +    /> | 
| +    <CustomAction | 
| +        Id="Close_IE" | 
| +        BinaryKey="installer_library_test_ca" | 
| +        DllEntry="abp_close_ie" | 
| +        Return="check" | 
| +    /> | 
| +    <!-- Always check the return of the "always fail" action; otherwise there's no point in running it. --> | 
| +    <CustomAction | 
| +        Id="Fail" | 
| +        BinaryKey="installer_library_test_ca" | 
| +        DllEntry="fail" | 
| +        Return="check" | 
| +    /> | 
| +    <!-- | 
| +      Note that we're using a 32-bit custom action library for both 32- and 64-bit installers. | 
| +    --> | 
| +    <Binary Id="installer_library_test_ca" SourceFile="$(var.installer_dir)\build\$(var.build_dir)\$(var.CA_Configuration)\installer-library-test-customactions.dll"/> | 
| +    <!-- | 
| +      The sequence of testing actions go here. | 
| +      Alter this sequence at will to test, exercise, observe, or debug custom action code. | 
| +      The "Fail" action can be put at the end to ensure that the installer terminates before actually trying to install anything. | 
| +      Action might also be put into the InstallExecuteSequence, if needed. | 
| +    --> | 
| +    <InstallUISequence> | 
| +      <!-- | 
| +        "LaunchConditions" occurs at the beginning of the InstallUISequence, before any of the expensive operations. | 
| +      --> | 
| +      <Custom Action="Sandbox" After="LaunchConditions">1</Custom> | 
| +      <Custom Action="Close_IE" After="Sandbox" /> | 
| +      <Custom Action="Fail" After="Close_IE" /> | 
| +    </InstallUISequence> | 
| + | 
| +    <!-- | 
| +      We have only a single feature, since there aren't any optional parts. | 
| +      The display is hidden for the same reason; there's nothing to choose from. | 
| +    --> | 
| +    <Feature Id="ProductFeature" | 
| +      Title="Empty_Feature" Description="This is a test MSI for custom actions. We don't need no stinking features." | 
| +      Display="hidden"> | 
| +    </Feature> | 
| + | 
| +    <!-- | 
| +      The top-level directory structure. | 
| +    --> | 
| +    <Directory Id="TARGETDIR" Name="SourceDir"> | 
| +      <Directory Id="$(var.Program_Files)"> | 
| +        <!-- | 
| +          INSTALLFOLDER is within ProgramFilesFolder, which is a protected directory. | 
| +          As a result, this installer requires elevated permissions to operate. | 
| +        --> | 
| +        <Directory Id="INSTALLFOLDER" Name="ABP Test Installer Library"/> | 
| +      </Directory> | 
| +    </Directory> | 
| + | 
| +    <!-- | 
| +      Unit tests verify the number of rows and columns of the table, as well as the presence of certain data. | 
| +    --> | 
| +    <?include ../custom-i18n.wxi ?> | 
| +    <?include ../../custom-action/close_ie.wxi ?> | 
| +  </Product> | 
| +</Wix> | 
|  |