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

Delta Between Two Patch Sets: installer/src/msi/adblockplusie.wxs

Issue 5024350814076928: Issue 1103 - Migrate Simple Adblock users
Left Patch Set: Created March 24, 2015, 7:44 a.m.
Right 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:
Left: Side by side diff | Download
Right: Side by side diff | Download
LEFTRIGHT
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="afterInstallInitialize" 141 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" 142 AllowDowngrades="yes"
139 /> 143 />
140 144
141 <!--Remove Simple Adblock--> 145 <!--Remove Simple Adblock-->
142 <Property Id="SIMPLEADBLOCKDETECTED" Secure="yes"/> 146 <Property Id="SIMPLEADBLOCKPRODUCTCODE" Secure="yes"/>
143 <Upgrade Id="27D7C170-67AA-40D9-978F-5F14B4D0FEEE"> 147 <Upgrade Id="27D7C170-67AA-40D9-978F-5F14B4D0FEEE">
144 <UpgradeVersion 148 <UpgradeVersion
145 Minimum="0.7.0.0" Maximum="99.0.0.0" 149 Minimum="0.7.0.0" Maximum="99.0.0.0"
146 Property="SIMPLEADBLOCKDETECTED" 150 Property="SIMPLEADBLOCKPRODUCTCODE"
147 IncludeMinimum="yes" IncludeMaximum="no" IgnoreRemoveFailure="no"/> 151 IncludeMinimum="yes" IncludeMaximum="no" IgnoreRemoveFailure="no"/>
148 </Upgrade> 152 </Upgrade>
149 <MediaTemplate EmbedCab="yes"/> 153 <MediaTemplate EmbedCab="yes"/>
150 154
151 <!-- 155 <!--
152 User interface 156 User interface
153 --> 157 -->
154 <UIRef Id="custom_WixUI_InstallDir"/> 158 <UIRef Id="custom_WixUI_InstallDir"/>
155 <UIRef Id="WixUI_ErrorProgressText"/> 159 <UIRef Id="WixUI_ErrorProgressText"/>
156 <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/> 160 <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/>
(...skipping 22 matching lines...) Expand all
179 <CustomAction 183 <CustomAction
180 Id="Close_IE" 184 Id="Close_IE"
181 BinaryKey="installer_ca" 185 BinaryKey="installer_ca"
182 DllEntry="AbpCloseIe" 186 DllEntry="AbpCloseIe"
183 Return="check" 187 Return="check"
184 /> 188 />
185 189
186 <CustomAction 190 <CustomAction
187 Id="CleanupSimpleAdblock" 191 Id="CleanupSimpleAdblock"
188 Directory="APP_DATA_FOLDER" 192 Directory="APP_DATA_FOLDER"
189 ExeCommand="cmd /C &quot;rmdir /s /q &quot;.\Simple Adblock&quot;&quot;" 193 ExeCommand="cmd /C &quot;rmdir /s /q &quot;.\Simple Adblock&quot;&quot;"
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" 194 Execute="deferred"
191 Return="ignore" 195 Return="ignore"
192 HideTarget="no" 196 HideTarget="no"
193 Impersonate="no" /> 197 Impersonate="no" />
194 <!-- 198 <!--
195 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.
196 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.
197 --> 201 -->
198 <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"/>
199 <InstallExecuteSequence> 203 <InstallUISequence>
200 <!-- 204 <!--
201 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.
202 --> 206 -->
203 <Custom 207 <Custom
204 Action="Close_IE" 208 Action="Close_IE"
205 After="LaunchConditions" 209 After="LaunchConditions"
206 /> 210 />
211 </InstallUISequence>
207 212
213 <InstallExecuteSequence>
208 <Custom 214 <Custom
209 Action="CleanupSimpleAdblock" 215 Action="CleanupSimpleAdblock"
210 Before="InstallFinalize"><![CDATA[SIMPLEADBLOCKDETECTED <> ""]]></Custom > 216 Before="InstallFinalize"><![CDATA[SIMPLEADBLOCKPRODUCTCODE <> ""]]></Cus tom>
211 </InstallExecuteSequence> 217 </InstallExecuteSequence>
212 218
213 <!-- 219 <!--
214 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.
215 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.
216 --> 222 -->
217 <Feature Id="ProductFeature" 223 <Feature Id="ProductFeature"
218 Title="!(loc.Title)" Description="!(loc.UI_Description)" 224 Title="!(loc.Title)" Description="!(loc.UI_Description)"
219 Display="hidden"> 225 Display="hidden">
220 <ComponentGroupRef Id="Installation_Folders"/> 226 <ComponentGroupRef Id="Installation_Folders"/>
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 838
833 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.
834 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.
835 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,
836 not a permanent solution. 842 not a permanent solution.
837 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.
838 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
839 --> 845 -->
840 <ComponentGroup Id="INI_Files"> 846 <ComponentGroup Id="INI_Files">
841 <ComponentRef Id="ini_settings.ini"/> 847 <ComponentRef Id="ini_settings.ini"/>
842 <ComponentRef Id="simpleAdblockPrefs"/> 848 <ComponentRef Id="simpleAdblockMark"/>
843 </ComponentGroup> 849 </ComponentGroup>
844 <DirectoryRef Id="ABP_APPDATA_FOLDER"> 850 <DirectoryRef Id="ABP_APPDATA_FOLDER">
845 <Directory Id="ini" FileSource="$(var.plugin_dir)\files"> 851 <Directory Id="ini" FileSource="$(var.plugin_dir)\files">
846 <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">
847 <File Name="settings.ini"/> 853 <File Name="settings.ini"/>
848 </Component> 854 </Component>
849 <Component Id="simpleAdblockPrefs" Guid="cc30c3b0-c713-01e2-7b8b-1800200 c9a65"> 855 <Component Id="simpleAdblockMark" Guid="cc30c3b0-c713-01e2-7b8b-1800200c 9a65">
850 <Condition><![CDATA[SIMPLEADBLOCKDETECTED <> ""]]></Condition> 856 <Condition><![CDATA[SIMPLEADBLOCKPRODUCTCODE <> ""]]></Condition>
851 <File Name="prefs.json"/> 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>
852 </Component> 862 </Component>
853 </Directory> 863 </Directory>
854 </DirectoryRef> 864 </DirectoryRef>
855 865
856 <?include ../installer-lib/custom-i18n.wxi ?> 866 <?include ../installer-lib/custom-i18n.wxi ?>
857 <?include ../custom-action/close_ie.wxi ?> 867 <?include ../custom-action/close_ie.wxi ?>
858 </Product> 868 </Product>
859 </Wix> 869 </Wix>
LEFTRIGHT

Powered by Google App Engine
This is Rietveld