| 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 2ce2dd9d451d64be2e6e9b3a00d6f873ba734d25..48245eee8decb5efaf01f0e44873fb9309af19c9 100644
|
| --- a/chrome/test/mini_installer/test_installer.py
|
| +++ b/chrome/test/mini_installer/test_installer.py
|
| @@ -16,6 +16,7 @@ import subprocess
|
| import sys
|
| import time
|
| import unittest
|
| +import _winreg
|
|
|
| from variable_expander import VariableExpander
|
| import verifier_runner
|
| @@ -144,6 +145,26 @@ def RunCommand(command, variable_expander):
|
| expanded_command, exit_status))
|
|
|
|
|
| +def DeleteGoogleUpdateRegistration(system_level, variable_expander):
|
| + """Deletes Chrome's registration with Google Update.
|
| +
|
| + Args:
|
| + system_level: True if system-level Chrome is to be deleted.
|
| + 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')
|
| + try:
|
| + key_handle = _winreg.OpenKey(root, key_name, 0,
|
| + _winreg.KEY_SET_VALUE |
|
| + _winreg.KEY_WOW64_32KEY)
|
| + _winreg.DeleteValue(key_handle, 'pv')
|
| + except WindowsError:
|
| + # The key isn't present, so there is no value to delete.
|
| + pass
|
| +
|
| +
|
| def RunCleanCommand(force_clean, variable_expander):
|
| """Puts the machine in the clean state (i.e. Chrome not installed).
|
|
|
| @@ -152,17 +173,17 @@ def RunCleanCommand(force_clean, variable_expander):
|
| installations.
|
| variable_expander: A VariableExpander object.
|
| """
|
| - # TODO(sukolsak): Read the clean state from the config file and clean
|
| - # the machine according to it.
|
| # TODO(sukolsak): Handle Chrome SxS installs.
|
| - commands = []
|
| interactive_option = '--interactive' if not force_clean else ''
|
| - for level_option in ('', '--system-level'):
|
| - commands.append('python uninstall_chrome.py '
|
| - '--chrome-long-name="$CHROME_LONG_NAME" '
|
| - '--no-error-if-absent %s %s' %
|
| - (level_option, interactive_option))
|
| - RunCommand(' && '.join(commands), variable_expander)
|
| + for system_level in (False, True):
|
| + level_option = '--system-level' if system_level else ''
|
| + command = ('python uninstall_chrome.py '
|
| + '--chrome-long-name="$CHROME_LONG_NAME" '
|
| + '--no-error-if-absent %s %s' %
|
| + (level_option, interactive_option))
|
| + RunCommand(command, variable_expander)
|
| + if force_clean:
|
| + DeleteGoogleUpdateRegistration(system_level, variable_expander)
|
|
|
|
|
| def MergePropertyDictionaries(current_property, new_property):
|
|
|