| 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 code is 2738.</quote> | 5 <quote>LGHT0217 : Error executing ICE action 'ICExx' [...] The error code 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 Inst aller sees it. | 9 which means this source implicitly declares some insofar as the Windows Inst aller sees it. |
| 10 These errors are benign and can be avoided by some fiddling with the registry on the development machine. | 10 These errors are benign and can be avoided by some fiddling with the registry on the development machine. |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 121 Languages="$(var.SupportedLanguages)" | 121 Languages="$(var.SupportedLanguages)" |
| 122 Compressed="yes" | 122 Compressed="yes" |
| 123 InstallScope="perMachine" InstallPrivileges="elevated" | 123 InstallScope="perMachine" InstallPrivileges="elevated" |
| 124 /> | 124 /> |
| 125 <!-- | 125 <!-- |
| 126 The MajorUpgrade tag allows us to specify the relationship between our | 126 The MajorUpgrade tag allows us to specify the relationship between our |
| 127 version number and the one installed. The attribute Disallow="no" is | 127 version number and the one installed. The attribute Disallow="no" is |
| 128 implied and allows major upgrades to be performed. Downgrades aren't | 128 implied and allows major upgrades to be performed. Downgrades aren't |
| 129 allowed by default. | 129 allowed by default. |
| 130 | 130 |
| 131 The @Schedule attribute looks a little opaque. | 131 The default value for @Schedule attribute is afterInstallValidate. |
| 132 Suffice it to say that it's the only option for scheduling where uninstall ation of the previous version | 132 If we used that it would be possible to endup in a state when one |
| 133 and installation of the present version is _always_ going to act atomica lly. | 133 version is uninstalled and another is not installed. We use |
| 134 It's a shame that you to even explicitly make that choice. | 134 afterInstallInitialize here and not afterInstallExecute since we need to |
| 135 make sure we uninstall SimpleAdblock *before* we install ABP. | |
| 136 SimpleAdblock and ABP for IE are using the same CLSID and SimpleAdblock's | |
| 137 uninstallation is running DllUnregisterServer which removes the CLSID | |
| 138 from the registry. | |
| 135 --> | 139 --> |
| 136 <MajorUpgrade | 140 <MajorUpgrade |
| 137 Schedule="afterInstallExecute" | 141 Schedule="afterInstallInitialize" |
|
Eric
2015/05/17 00:29:25
This change remains a bad idea. It's altering the
Oleksandr
2015/07/13 03:46:16
1. MajorUpgrade already schedules RemoveExistingPr
| |
| 138 AllowDowngrades="yes" | 142 AllowDowngrades="yes" |
| 139 /> | 143 /> |
| 144 | |
| 145 <!--Remove Simple Adblock--> | |
| 146 <Property Id="SIMPLEADBLOCKDETECTED" Secure="yes"/> | |
|
Eric
2015/05/17 00:29:25
The value of this property is set by the 'FindRela
| |
| 147 <Upgrade Id="27D7C170-67AA-40D9-978F-5F14B4D0FEEE"> | |
| 148 <UpgradeVersion | |
| 149 Minimum="0.7.0.0" Maximum="99.0.0.0" | |
| 150 Property="SIMPLEADBLOCKDETECTED" | |
| 151 IncludeMinimum="yes" IncludeMaximum="no" IgnoreRemoveFailure="no"/> | |
| 152 </Upgrade> | |
| 140 <MediaTemplate EmbedCab="yes"/> | 153 <MediaTemplate EmbedCab="yes"/> |
| 141 | 154 |
| 142 <!-- | 155 <!-- |
| 143 User interface | 156 User interface |
| 144 --> | 157 --> |
| 145 <UIRef Id="custom_WixUI_InstallDir"/> | 158 <UIRef Id="custom_WixUI_InstallDir"/> |
| 146 <UIRef Id="WixUI_ErrorProgressText"/> | 159 <UIRef Id="WixUI_ErrorProgressText"/> |
| 147 <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/> | 160 <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/> |
| 148 | 161 |
| 149 <!-- | 162 <!-- |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 166 Attribute "Return" sets the "Custom Action Return Processing Options" to z ero, | 179 Attribute "Return" sets the "Custom Action Return Processing Options" to z ero, |
| 167 which indicates to block the installer until the action completes | 180 which indicates to block the installer until the action completes |
| 168 and to treat a non-zero return value from the action as an error. | 181 and to treat a non-zero return value from the action as an error. |
| 169 --> | 182 --> |
| 170 <CustomAction | 183 <CustomAction |
| 171 Id="Close_IE" | 184 Id="Close_IE" |
| 172 BinaryKey="installer_ca" | 185 BinaryKey="installer_ca" |
| 173 DllEntry="AbpCloseIe" | 186 DllEntry="AbpCloseIe" |
| 174 Return="check" | 187 Return="check" |
| 175 /> | 188 /> |
| 189 | |
| 190 <CustomAction | |
| 191 Id="CleanupSimpleAdblock" | |
| 192 Directory="APP_DATA_FOLDER" | |
| 193 ExeCommand="cmd /C "rmdir /s /q ".\Simple Adblock""" | |
| 194 Execute="deferred" | |
| 195 Return="ignore" | |
| 196 HideTarget="no" | |
| 197 Impersonate="no" /> | |
| 176 <!-- | 198 <!-- |
| 177 We require a 32-bit DLL for the 32-bit installer, and likewise for 64-bit. | 199 We require a 32-bit DLL for the 32-bit installer, and likewise for 64-bit. |
| 178 The 64-bit Close_IE action needs to examine 64-bit processes on the system , which are invisible to 32-bit processes. | 200 The 64-bit Close_IE action needs to examine 64-bit processes on the system , which are invisible to 32-bit processes. |
| 179 --> | 201 --> |
| 180 <Binary Id="installer_ca" SourceFile="$(var.installer_dir)\build\$(var.build _dir)\$(var.CA_Configuration)\installer-ca.dll"/> | 202 <Binary Id="installer_ca" SourceFile="$(var.installer_dir)\build\$(var.build _dir)\$(var.CA_Configuration)\installer-ca.dll"/> |
| 181 <InstallUISequence> | 203 <InstallExecuteSequence> |
|
Eric
2015/05/17 00:29:25
Moving the close-IE action should be done in a sep
sergei
2015/07/28 11:11:54
Actually yes, had someone created an issue for it?
| |
| 182 <!-- | 204 <!-- |
| 183 The LaunchConditions action occurs near the beginning, before any of the expensive operations. | 205 The LaunchConditions action occurs near the beginning, before any of the expensive operations. |
| 184 --> | 206 --> |
| 185 <Custom | 207 <Custom |
| 186 Action="Close_IE" | 208 Action="Close_IE" |
| 187 After="LaunchConditions" | 209 After="LaunchConditions" |
| 188 /> | 210 /> |
| 189 </InstallUISequence> | 211 |
| 212 <Custom | |
| 213 Action="CleanupSimpleAdblock" | |
| 214 Before="InstallFinalize"><![CDATA[SIMPLEADBLOCKDETECTED <> ""]]></Custom > | |
| 215 </InstallExecuteSequence> | |
| 190 | 216 |
| 191 <!-- | 217 <!-- |
| 192 We have only a single feature, since there aren't any optional parts. | 218 We have only a single feature, since there aren't any optional parts. |
| 193 The display is hidden for the same reason; there's nothing to choose from. | 219 The display is hidden for the same reason; there's nothing to choose from. |
| 194 --> | 220 --> |
| 195 <Feature Id="ProductFeature" | 221 <Feature Id="ProductFeature" |
| 196 Title="!(loc.Title)" Description="!(loc.UI_Description)" | 222 Title="!(loc.Title)" Description="!(loc.UI_Description)" |
| 197 Display="hidden"> | 223 Display="hidden"> |
| 198 <ComponentGroupRef Id="Installation_Folders"/> | 224 <ComponentGroupRef Id="Installation_Folders"/> |
| 199 <ComponentGroupRef Id="Binaries"/> | 225 <ComponentGroupRef Id="Binaries"/> |
| (...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 810 | 836 |
| 811 The settings.ini file should not be installed this way, since it contains user-generated data. | 837 The settings.ini file should not be installed this way, since it contains user-generated data. |
| 812 A component in Windows Installer represents a fixed piece of data with the MSI, not a changing one. | 838 A component in Windows Installer represents a fixed piece of data with the MSI, not a changing one. |
| 813 The present method of making settings.ini a component is simply an expedie nt for the present, | 839 The present method of making settings.ini a component is simply an expedie nt for the present, |
| 814 not a permanent solution. | 840 not a permanent solution. |
| 815 The correct solution requires the application to manage this file; the ins taller can't do it right. | 841 The correct solution requires the application to manage this file; the ins taller can't do it right. |
| 816 See http://stackoverflow.com/questions/357911/manage-configuration-files-w ith-wix | 842 See http://stackoverflow.com/questions/357911/manage-configuration-files-w ith-wix |
| 817 --> | 843 --> |
| 818 <ComponentGroup Id="INI_Files"> | 844 <ComponentGroup Id="INI_Files"> |
| 819 <ComponentRef Id="ini_settings.ini"/> | 845 <ComponentRef Id="ini_settings.ini"/> |
| 846 <ComponentRef Id="simpleAdblockPrefs"/> | |
| 820 </ComponentGroup> | 847 </ComponentGroup> |
| 821 <DirectoryRef Id="ABP_APPDATA_FOLDER"> | 848 <DirectoryRef Id="ABP_APPDATA_FOLDER"> |
| 822 <Directory Id="ini" FileSource="$(var.plugin_dir)\files"> | 849 <Directory Id="ini" FileSource="$(var.plugin_dir)\files"> |
| 823 <Component Id="ini_settings.ini" Guid="dc30c3b0-d713-11e2-8b8b-0800200c9 a66"> | 850 <Component Id="ini_settings.ini" Guid="dc30c3b0-d713-11e2-8b8b-0800200c9 a66"> |
| 824 <File Name="settings.ini"/> | 851 <File Name="settings.ini"/> |
| 825 </Component> | 852 </Component> |
| 853 <Component Id="simpleAdblockPrefs" Guid="cc30c3b0-c713-01e2-7b8b-1800200 c9a65"> | |
| 854 <Condition><![CDATA[SIMPLEADBLOCKDETECTED <> ""]]></Condition> | |
| 855 <File Name="prefs.json"/> | |
| 856 </Component> | |
| 826 </Directory> | 857 </Directory> |
| 827 </DirectoryRef> | 858 </DirectoryRef> |
| 828 | 859 |
| 829 <?include ../installer-lib/custom-i18n.wxi ?> | 860 <?include ../installer-lib/custom-i18n.wxi ?> |
| 830 <?include ../custom-action/close_ie.wxi ?> | 861 <?include ../custom-action/close_ie.wxi ?> |
| 831 </Product> | 862 </Product> |
| 832 </Wix> | 863 </Wix> |
| OLD | NEW |