Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: installer/src/msi/adblockplusie.wxs

Issue 5024350814076928: Issue 1103 - Migrate Simple Adblock users
Patch Set: Use registry instead of prefs for storing the Simple Adblock mark Created Aug. 7, 2015, 10:34 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
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
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"
138 AllowDowngrades="yes" 142 AllowDowngrades="yes"
139 /> 143 />
144
145 <!--Remove Simple Adblock-->
146 <Property Id="SIMPLEADBLOCKPRODUCTCODE" Secure="yes"/>
147 <Upgrade Id="27D7C170-67AA-40D9-978F-5F14B4D0FEEE">
148 <UpgradeVersion
149 Minimum="0.7.0.0" Maximum="99.0.0.0"
150 Property="SIMPLEADBLOCKPRODUCTCODE"
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
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 &quot;rmdir /s /q &quot;.\Simple Adblock&quot;&quot;"
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 <InstallUISequence>
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 </InstallUISequence>
212
213 <InstallExecuteSequence>
214 <Custom
215 Action="CleanupSimpleAdblock"
216 Before="InstallFinalize"><![CDATA[SIMPLEADBLOCKPRODUCTCODE <> ""]]></Cus tom>
217 </InstallExecuteSequence>
190 218
191 <!-- 219 <!--
192 We have only a single feature, since there aren't any optional parts. 220 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. 221 The display is hidden for the same reason; there's nothing to choose from.
194 --> 222 -->
195 <Feature Id="ProductFeature" 223 <Feature Id="ProductFeature"
196 Title="!(loc.Title)" Description="!(loc.UI_Description)" 224 Title="!(loc.Title)" Description="!(loc.UI_Description)"
197 Display="hidden"> 225 Display="hidden">
198 <ComponentGroupRef Id="Installation_Folders"/> 226 <ComponentGroupRef Id="Installation_Folders"/>
199 <ComponentGroupRef Id="Binaries"/> 227 <ComponentGroupRef Id="Binaries"/>
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 838
811 The settings.ini file should not be installed this way, since it contains user-generated data. 839 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. 840 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, 841 The present method of making settings.ini a component is simply an expedie nt for the present,
814 not a permanent solution. 842 not a permanent solution.
815 The correct solution requires the application to manage this file; the ins taller can't do it right. 843 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 844 See http://stackoverflow.com/questions/357911/manage-configuration-files-w ith-wix
817 --> 845 -->
818 <ComponentGroup Id="INI_Files"> 846 <ComponentGroup Id="INI_Files">
819 <ComponentRef Id="ini_settings.ini"/> 847 <ComponentRef Id="ini_settings.ini"/>
848 <ComponentRef Id="simpleAdblockMark"/>
820 </ComponentGroup> 849 </ComponentGroup>
821 <DirectoryRef Id="ABP_APPDATA_FOLDER"> 850 <DirectoryRef Id="ABP_APPDATA_FOLDER">
822 <Directory Id="ini" FileSource="$(var.plugin_dir)\files"> 851 <Directory Id="ini" FileSource="$(var.plugin_dir)\files">
823 <Component Id="ini_settings.ini" Guid="dc30c3b0-d713-11e2-8b8b-0800200c9 a66"> 852 <Component Id="ini_settings.ini" Guid="dc30c3b0-d713-11e2-8b8b-0800200c9 a66">
824 <File Name="settings.ini"/> 853 <File Name="settings.ini"/>
825 </Component> 854 </Component>
855 <Component Id="simpleAdblockMark" Guid="cc30c3b0-c713-01e2-7b8b-1800200c 9a65">
856 <Condition><![CDATA[SIMPLEADBLOCKPRODUCTCODE <> ""]]></Condition>
857 <RegistryKey Root="HKCU" Key="Software\Adblock Plus for IE">
858 <RegistryKey Key="ConvertedFrom">
859 <RegistryValue Name="name" Type="string" Value="simpleadblock"/>
860 </RegistryKey>
861 </RegistryKey>
862 </Component>
826 </Directory> 863 </Directory>
827 </DirectoryRef> 864 </DirectoryRef>
828 865
829 <?include ../installer-lib/custom-i18n.wxi ?> 866 <?include ../installer-lib/custom-i18n.wxi ?>
830 <?include ../custom-action/close_ie.wxi ?> 867 <?include ../custom-action/close_ie.wxi ?>
831 </Product> 868 </Product>
832 </Wix> 869 </Wix>
OLDNEW

Powered by Google App Engine
This is Rietveld