| 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,124 @@ |
| +<?xml version="1.0" encoding="UTF-8"?> |
| +<?define installer_dir="..\.." ?> |
| +<?define CA_Configuration="Debug" ?> |
| + |
| +<?if $(sys.BUILDARCH)="x86"?> |
| + <?define Program_Files="ProgramFilesFolder"?> |
| + <?define Product_Name="!(loc.ProductName32)"?> |
| +<?elseif $(sys.BUILDARCH)="x64"?> |
| + <?define Program_Files="ProgramFiles64Folder"?> |
| + <?define Product_Name="!(loc.ProductName64)"?> |
| +<?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\ia32\$(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> |