OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // This file declares utility functions for the installer. The original reason | 5 // This file declares utility functions for the installer. The original reason |
6 // for putting these functions in installer\util library is so that we can | 6 // for putting these functions in installer\util library is so that we can |
7 // separate out the critical logic and write unit tests for it. | 7 // separate out the critical logic and write unit tests for it. |
8 | 8 |
9 #ifndef CHROME_INSTALLER_UTIL_INSTALL_UTIL_H_ | 9 #ifndef CHROME_INSTALLER_UTIL_INSTALL_UTIL_H_ |
10 #define CHROME_INSTALLER_UTIL_INSTALL_UTIL_H_ | 10 #define CHROME_INSTALLER_UTIL_INSTALL_UTIL_H_ |
(...skipping 21 matching lines...) Expand all Loading... |
32 static bool ExecuteExeAsAdmin(const CommandLine& cmd, DWORD* exit_code); | 32 static bool ExecuteExeAsAdmin(const CommandLine& cmd, DWORD* exit_code); |
33 | 33 |
34 // Reads the uninstall command for Chromium from registry and returns it. | 34 // Reads the uninstall command for Chromium from registry and returns it. |
35 // If system_install is true the command is read from HKLM, otherwise | 35 // If system_install is true the command is read from HKLM, otherwise |
36 // from HKCU. | 36 // from HKCU. |
37 static CommandLine GetChromeUninstallCmd( | 37 static CommandLine GetChromeUninstallCmd( |
38 bool system_install, | 38 bool system_install, |
39 BrowserDistribution::Type distribution_type); | 39 BrowserDistribution::Type distribution_type); |
40 | 40 |
41 // Find the version of Chrome installed on the system by checking the | 41 // Find the version of Chrome installed on the system by checking the |
42 // Google Update registry key. Returns the version or NULL if no version is | 42 // Google Update registry key. Fills |version| with the version or a |
43 // found. | 43 // default-constructed Version if no version is found. |
44 // system_install: if true, looks for version number under the HKLM root, | 44 // system_install: if true, looks for version number under the HKLM root, |
45 // otherwise looks under the HKCU. | 45 // otherwise looks under the HKCU. |
46 static Version* GetChromeVersion(BrowserDistribution* dist, | 46 static void GetChromeVersion(BrowserDistribution* dist, |
47 bool system_install); | 47 bool system_install, |
| 48 Version* version); |
48 | 49 |
49 // Find the last critical update (version) of Chrome. Returns the version or | 50 // Find the last critical update (version) of Chrome. Fills |version| with the |
50 // NULL if no such version is found. A critical update is a specially flagged | 51 // version or a default-constructed Version if no version is found. A critical |
51 // version (by Google Update) that contains an important security fix. | 52 // update is a specially flagged version (by Google Update) that contains an |
| 53 // important security fix. |
52 // system_install: if true, looks for version number under the HKLM root, | 54 // system_install: if true, looks for version number under the HKLM root, |
53 // otherwise looks under the HKCU. | 55 // otherwise looks under the HKCU. |
54 static Version* GetCriticalUpdateVersion(BrowserDistribution* dist, | 56 static void GetCriticalUpdateVersion(BrowserDistribution* dist, |
55 bool system_install); | 57 bool system_install, |
| 58 Version* version); |
56 | 59 |
57 // This function checks if the current OS is supported for Chromium. | 60 // This function checks if the current OS is supported for Chromium. |
58 static bool IsOSSupported(); | 61 static bool IsOSSupported(); |
59 | 62 |
60 // Adds work items to |install_list|, which should be a | 63 // Adds work items to |install_list|, which should be a |
61 // NoRollbackWorkItemList, to set installer error information in the registry | 64 // NoRollbackWorkItemList, to set installer error information in the registry |
62 // for consumption by Google Update. |state_key| must be the full path to an | 65 // for consumption by Google Update. |state_key| must be the full path to an |
63 // app's ClientState key. See InstallerState::WriteInstallerResult for more | 66 // app's ClientState key. See InstallerState::WriteInstallerResult for more |
64 // details. | 67 // details. |
65 static void AddInstallerResultItems(bool system_install, | 68 static void AddInstallerResultItems(bool system_install, |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 private: | 188 private: |
186 DISALLOW_COPY_AND_ASSIGN(ProgramCompare); | 189 DISALLOW_COPY_AND_ASSIGN(ProgramCompare); |
187 }; // class ProgramCompare | 190 }; // class ProgramCompare |
188 | 191 |
189 private: | 192 private: |
190 DISALLOW_COPY_AND_ASSIGN(InstallUtil); | 193 DISALLOW_COPY_AND_ASSIGN(InstallUtil); |
191 }; | 194 }; |
192 | 195 |
193 | 196 |
194 #endif // CHROME_INSTALLER_UTIL_INSTALL_UTIL_H_ | 197 #endif // CHROME_INSTALLER_UTIL_INSTALL_UTIL_H_ |
OLD | NEW |