Index: chrome/test/mini_installer/test_installer.py |
diff --git a/chrome/test/mini_installer/test_installer.py b/chrome/test/mini_installer/test_installer.py |
index 2b5c870b9076ed11fa8c0f21348e4bfce71606e0..723459b28a9d3e00dd1eaa4d6d91c62a03950127 100644 |
--- a/chrome/test/mini_installer/test_installer.py |
+++ b/chrome/test/mini_installer/test_installer.py |
@@ -168,16 +168,18 @@ def RunCommand(command, variable_expander): |
expanded_command, exit_status)) |
-def DeleteGoogleUpdateRegistration(system_level, variable_expander): |
+def DeleteGoogleUpdateRegistration(system_level, registry_subkey, |
+ variable_expander): |
"""Deletes Chrome's registration with Google Update. |
Args: |
system_level: True if system-level Chrome is to be deleted. |
+ registry_subkey: The pre-expansion registry subkey for the product. |
variable_expander: A VariableExpander object. |
""" |
root = (_winreg.HKEY_LOCAL_MACHINE if system_level |
else _winreg.HKEY_CURRENT_USER) |
- key_name = variable_expander.Expand('$CHROME_UPDATE_REGISTRY_SUBKEY') |
+ key_name = variable_expander.Expand(registry_subkey) |
try: |
key_handle = _winreg.OpenKey(root, key_name, 0, |
_winreg.KEY_SET_VALUE | |
@@ -196,17 +198,28 @@ def RunCleanCommand(force_clean, variable_expander): |
installations. |
variable_expander: A VariableExpander object. |
""" |
- # TODO(sukolsak): Handle Chrome SxS installs. |
+ # A list of (system_level, product_name, product_switch, registry_subkey) |
+ # tuples for the possible installed products. |
+ data = [ |
+ (False, '$CHROME_LONG_NAME', '', |
+ '$CHROME_UPDATE_REGISTRY_SUBKEY'), |
+ (True, '$CHROME_LONG_NAME', '--system-level', |
+ '$CHROME_UPDATE_REGISTRY_SUBKEY'), |
+ ] |
+ if variable_expander.Expand('$SUPPORTS_SXS') == 'True': |
+ data.append((False, '$CHROME_LONG_NAME_SXS', '', |
+ '$CHROME_UPDATE_REGISTRY_SUBKEY_SXS')) |
+ |
interactive_option = '--interactive' if not force_clean else '' |
- for system_level in (False, True): |
- level_option = '--system-level' if system_level else '' |
+ for system_level, product_name, product_switch, registry_subkey in data: |
command = ('python uninstall_chrome.py ' |
- '--chrome-long-name="$CHROME_LONG_NAME" ' |
+ '--chrome-long-name="%s" ' |
'--no-error-if-absent %s %s' % |
- (level_option, interactive_option)) |
+ (product_name, product_switch, interactive_option)) |
RunCommand(command, variable_expander) |
if force_clean: |
- DeleteGoogleUpdateRegistration(system_level, variable_expander) |
+ DeleteGoogleUpdateRegistration(system_level, registry_subkey, |
+ variable_expander) |
def MergePropertyDictionaries(current_property, new_property): |