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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
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 @Schedule attribute looks a little opaque. |
132 Suffice it to say that it's the only option for scheduling where uninstall ation of the previous version | 132 Suffice it to say that it's the only option for scheduling where uninstall ation of the previous version |
133 and installation of the present version is _always_ going to act atomica lly. | 133 and installation of the present version is _always_ going to act atomica lly. |
134 It's a shame that you to even explicitly make that choice. | 134 It's a shame that you to even explicitly make that choice. |
135 --> | 135 --> |
136 <MajorUpgrade | 136 <MajorUpgrade |
137 Schedule="afterInstallExecute" | 137 Schedule="afterInstallInitialize" |
Eric
2015/03/27 12:51:45
Please see the comment immediately about about why
Oleksandr
2015/04/16 09:58:09
ABP for IE and SimpleAdblock have the same CLSID w
sergei
2015/04/22 10:37:08
"afterInstallInitialize" still implies that uninst
Oleksandr
2015/04/24 11:50:32
SimpleAdblock uninstall removes the registry keys
| |
138 AllowDowngrades="yes" | 138 AllowDowngrades="yes" |
139 /> | 139 /> |
140 | |
141 <!--Remove Simple Adblock--> | |
142 <Property Id="SIMPLEADBLOCKDETECTED" Secure="yes"/> | |
143 <Upgrade Id="27D7C170-67AA-40D9-978F-5F14B4D0FEEE"> | |
144 <UpgradeVersion | |
145 Minimum="0.7.0.0" Maximum="99.0.0.0" | |
146 Property="SIMPLEADBLOCKDETECTED" | |
147 IncludeMinimum="yes" IncludeMaximum="no" IgnoreRemoveFailure="no"/> | |
148 </Upgrade> | |
140 <MediaTemplate EmbedCab="yes"/> | 149 <MediaTemplate EmbedCab="yes"/> |
141 | 150 |
142 <!-- | 151 <!-- |
143 User interface | 152 User interface |
144 --> | 153 --> |
145 <UIRef Id="custom_WixUI_InstallDir"/> | 154 <UIRef Id="custom_WixUI_InstallDir"/> |
146 <UIRef Id="WixUI_ErrorProgressText"/> | 155 <UIRef Id="WixUI_ErrorProgressText"/> |
147 <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/> | 156 <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/> |
148 | 157 |
149 <!-- | 158 <!-- |
(...skipping 16 matching lines...) Expand all Loading... | |
166 Attribute "Return" sets the "Custom Action Return Processing Options" to z ero, | 175 Attribute "Return" sets the "Custom Action Return Processing Options" to z ero, |
167 which indicates to block the installer until the action completes | 176 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. | 177 and to treat a non-zero return value from the action as an error. |
169 --> | 178 --> |
170 <CustomAction | 179 <CustomAction |
171 Id="Close_IE" | 180 Id="Close_IE" |
172 BinaryKey="installer_ca" | 181 BinaryKey="installer_ca" |
173 DllEntry="AbpCloseIe" | 182 DllEntry="AbpCloseIe" |
174 Return="check" | 183 Return="check" |
175 /> | 184 /> |
185 | |
186 <CustomAction | |
187 Id="CleanupSimpleAdblock" | |
188 Directory="APP_DATA_FOLDER" | |
189 ExeCommand="cmd /C "rmdir /s /q ".\Simple Adblock""" | |
Eric
2015/03/27 12:51:45
Using "." for current directory is likely not to b
Oleksandr
2015/04/16 09:58:09
Why not? We are launching in APP_DATA_FOLDER
| |
190 Execute="deferred" | |
191 Return="ignore" | |
192 HideTarget="no" | |
193 Impersonate="no" /> | |
176 <!-- | 194 <!-- |
177 We require a 32-bit DLL for the 32-bit installer, and likewise for 64-bit. | 195 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. | 196 The 64-bit Close_IE action needs to examine 64-bit processes on the system , which are invisible to 32-bit processes. |
179 --> | 197 --> |
180 <Binary Id="installer_ca" SourceFile="$(var.installer_dir)\build\$(var.build _dir)\$(var.CA_Configuration)\installer-ca.dll"/> | 198 <Binary Id="installer_ca" SourceFile="$(var.installer_dir)\build\$(var.build _dir)\$(var.CA_Configuration)\installer-ca.dll"/> |
181 <InstallExecuteSequence> | 199 <InstallExecuteSequence> |
182 <!-- | 200 <!-- |
183 The LaunchConditions action occurs near the beginning, before any of the expensive operations. | 201 The LaunchConditions action occurs near the beginning, before any of the expensive operations. |
184 --> | 202 --> |
185 <Custom | 203 <Custom |
186 Action="Close_IE" | 204 Action="Close_IE" |
187 After="LaunchConditions" | 205 After="LaunchConditions" |
188 /> | 206 /> |
189 | 207 |
208 <Custom | |
209 Action="CleanupSimpleAdblock" | |
210 Before="InstallFinalize"><![CDATA[SIMPLEADBLOCKDETECTED <> ""]]></Custom > | |
190 </InstallExecuteSequence> | 211 </InstallExecuteSequence> |
191 | 212 |
192 <!-- | 213 <!-- |
193 We have only a single feature, since there aren't any optional parts. | 214 We have only a single feature, since there aren't any optional parts. |
194 The display is hidden for the same reason; there's nothing to choose from. | 215 The display is hidden for the same reason; there's nothing to choose from. |
195 --> | 216 --> |
196 <Feature Id="ProductFeature" | 217 <Feature Id="ProductFeature" |
197 Title="!(loc.Title)" Description="!(loc.UI_Description)" | 218 Title="!(loc.Title)" Description="!(loc.UI_Description)" |
198 Display="hidden"> | 219 Display="hidden"> |
199 <ComponentGroupRef Id="Installation_Folders"/> | 220 <ComponentGroupRef Id="Installation_Folders"/> |
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
811 | 832 |
812 The settings.ini file should not be installed this way, since it contains user-generated data. | 833 The settings.ini file should not be installed this way, since it contains user-generated data. |
813 A component in Windows Installer represents a fixed piece of data with the MSI, not a changing one. | 834 A component in Windows Installer represents a fixed piece of data with the MSI, not a changing one. |
814 The present method of making settings.ini a component is simply an expedie nt for the present, | 835 The present method of making settings.ini a component is simply an expedie nt for the present, |
815 not a permanent solution. | 836 not a permanent solution. |
816 The correct solution requires the application to manage this file; the ins taller can't do it right. | 837 The correct solution requires the application to manage this file; the ins taller can't do it right. |
817 See http://stackoverflow.com/questions/357911/manage-configuration-files-w ith-wix | 838 See http://stackoverflow.com/questions/357911/manage-configuration-files-w ith-wix |
818 --> | 839 --> |
819 <ComponentGroup Id="INI_Files"> | 840 <ComponentGroup Id="INI_Files"> |
820 <ComponentRef Id="ini_settings.ini"/> | 841 <ComponentRef Id="ini_settings.ini"/> |
842 <ComponentRef Id="simpleAdblockPrefs"/> | |
821 </ComponentGroup> | 843 </ComponentGroup> |
822 <DirectoryRef Id="ABP_APPDATA_FOLDER"> | 844 <DirectoryRef Id="ABP_APPDATA_FOLDER"> |
823 <Directory Id="ini" FileSource="$(var.plugin_dir)\files"> | 845 <Directory Id="ini" FileSource="$(var.plugin_dir)\files"> |
824 <Component Id="ini_settings.ini" Guid="dc30c3b0-d713-11e2-8b8b-0800200c9 a66"> | 846 <Component Id="ini_settings.ini" Guid="dc30c3b0-d713-11e2-8b8b-0800200c9 a66"> |
825 <File Name="settings.ini"/> | 847 <File Name="settings.ini"/> |
826 </Component> | 848 </Component> |
849 <Component Id="simpleAdblockPrefs" Guid="cc30c3b0-c713-01e2-7b8b-1800200 c9a65"> | |
850 <Condition><![CDATA[SIMPLEADBLOCKDETECTED <> ""]]></Condition> | |
851 <File Name="prefs.json"/> | |
852 </Component> | |
827 </Directory> | 853 </Directory> |
828 </DirectoryRef> | 854 </DirectoryRef> |
829 | 855 |
830 <?include ../installer-lib/custom-i18n.wxi ?> | 856 <?include ../installer-lib/custom-i18n.wxi ?> |
831 <?include ../custom-action/close_ie.wxi ?> | 857 <?include ../custom-action/close_ie.wxi ?> |
832 </Product> | 858 </Product> |
833 </Wix> | 859 </Wix> |
OLD | NEW |