Index: chrome/installer/util/google_update_settings.cc |
diff --git a/chrome/installer/util/google_update_settings.cc b/chrome/installer/util/google_update_settings.cc |
index 529c05567baca9897132860065214b6a883c2119..8686ca2329cfa742fbe5ba681704c8d879787b82 100644 |
--- a/chrome/installer/util/google_update_settings.cc |
+++ b/chrome/installer/util/google_update_settings.cc |
@@ -7,11 +7,11 @@ |
#include <algorithm> |
#include <limits> |
+#include "base/base_paths_win.h" |
#include "base/command_line.h" |
#include "base/files/file_path.h" |
#include "base/logging.h" |
#include "base/metrics/histogram.h" |
-#include "base/path_service.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_util.h" |
#include "base/strings/utf_string_conversions.h" |
@@ -215,11 +215,14 @@ bool UpdateDidRunStateForBinaries(bool did_run) { |
bool GoogleUpdateSettings::IsSystemInstall() { |
bool system_install = false; |
- base::FilePath module_dir; |
- if (!PathService::Get(base::DIR_MODULE, &module_dir)) { |
+ base::FilePath module_file; |
+ // We don't use PathService here to be able to use this function very early in |
+ // startup. http://crbug.com/564398. |
+ if (!GetFileModule(&module_file)) { |
LOG(WARNING) |
<< "Failed to get directory of module; assuming per-user install."; |
} else { |
+ base::FilePath module_dir = module_file.DirName(); |
system_install = !InstallUtil::IsPerUserInstall(module_dir); |
} |
return system_install; |