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 // See the corresponding header file for description of the functions in this | 5 // See the corresponding header file for description of the functions in this |
6 // file. | 6 // file. |
7 | 7 |
8 #include "chrome/installer/util/install_util.h" | 8 #include "chrome/installer/util/install_util.h" |
9 | 9 |
10 #include <shellapi.h> | 10 #include <shellapi.h> |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 const wchar_t kStagePreconditions[] = L"preconditions"; | 50 const wchar_t kStagePreconditions[] = L"preconditions"; |
51 const wchar_t kStageRefreshingPolicy[] = L"refreshing_policy"; | 51 const wchar_t kStageRefreshingPolicy[] = L"refreshing_policy"; |
52 const wchar_t kStageRegisteringChrome[] = L"registering_chrome"; | 52 const wchar_t kStageRegisteringChrome[] = L"registering_chrome"; |
53 const wchar_t kStageRemovingOldVersions[] = L"removing_old_ver"; | 53 const wchar_t kStageRemovingOldVersions[] = L"removing_old_ver"; |
54 const wchar_t kStageRollingback[] = L"rollingback"; | 54 const wchar_t kStageRollingback[] = L"rollingback"; |
55 const wchar_t kStageUncompressing[] = L"uncompressing"; | 55 const wchar_t kStageUncompressing[] = L"uncompressing"; |
56 const wchar_t kStageUnpacking[] = L"unpacking"; | 56 const wchar_t kStageUnpacking[] = L"unpacking"; |
57 const wchar_t kStageUpdatingChannels[] = L"updating_channels"; | 57 const wchar_t kStageUpdatingChannels[] = L"updating_channels"; |
58 const wchar_t kStageCreatingVisualManifest[] = L"creating_visual_manifest"; | 58 const wchar_t kStageCreatingVisualManifest[] = L"creating_visual_manifest"; |
59 const wchar_t kStageDeferringToHigherVersion[] = L"deferring_to_higher_version"; | 59 const wchar_t kStageDeferringToHigherVersion[] = L"deferring_to_higher_version"; |
| 60 const wchar_t kStageUninstallingBinaries[] = L"uninstalling_binaries"; |
| 61 const wchar_t kStageUninstallingChromeFrame[] = L"uninstalling_chrome_frame"; |
60 | 62 |
61 const wchar_t* const kStages[] = { | 63 const wchar_t* const kStages[] = { |
62 NULL, | 64 NULL, |
63 kStagePreconditions, | 65 kStagePreconditions, |
64 kStageUncompressing, | 66 kStageUncompressing, |
65 kStageEnsemblePatching, | 67 kStageEnsemblePatching, |
66 kStageBinaryPatching, | 68 kStageBinaryPatching, |
67 kStageUnpacking, | 69 kStageUnpacking, |
68 kStageBuilding, | 70 kStageBuilding, |
69 kStageExecuting, | 71 kStageExecuting, |
70 kStageRollingback, | 72 kStageRollingback, |
71 kStageRefreshingPolicy, | 73 kStageRefreshingPolicy, |
72 kStageUpdatingChannels, | 74 kStageUpdatingChannels, |
73 kStageCopyingPreferencesFile, | 75 kStageCopyingPreferencesFile, |
74 kStageCreatingShortcuts, | 76 kStageCreatingShortcuts, |
75 kStageRegisteringChrome, | 77 kStageRegisteringChrome, |
76 kStageRemovingOldVersions, | 78 kStageRemovingOldVersions, |
77 kStageFinishing, | 79 kStageFinishing, |
78 kStageConfiguringAutoLaunch, | 80 kStageConfiguringAutoLaunch, |
79 kStageCreatingVisualManifest, | 81 kStageCreatingVisualManifest, |
80 kStageDeferringToHigherVersion, | 82 kStageDeferringToHigherVersion, |
| 83 kStageUninstallingBinaries, |
| 84 kStageUninstallingChromeFrame, |
81 }; | 85 }; |
82 | 86 |
83 COMPILE_ASSERT(installer::NUM_STAGES == arraysize(kStages), | 87 COMPILE_ASSERT(installer::NUM_STAGES == arraysize(kStages), |
84 kStages_disagrees_with_Stage_comma_they_must_match_bang); | 88 kStages_disagrees_with_Stage_comma_they_must_match_bang); |
85 | 89 |
86 // Creates a zero-sized non-decorated foreground window that doesn't appear | 90 // Creates a zero-sized non-decorated foreground window that doesn't appear |
87 // in the taskbar. This is used as a parent window for calls to ShellExecuteEx | 91 // in the taskbar. This is used as a parent window for calls to ShellExecuteEx |
88 // in order for the UAC dialog to appear in the foreground and for focus | 92 // in order for the UAC dialog to appear in the foreground and for focus |
89 // to be returned to this process once the UAC task is dismissed. Returns | 93 // to be returned to this process once the UAC task is dismissed. Returns |
90 // NULL on failure, a handle to the UAC window on success. | 94 // NULL on failure, a handle to the UAC window on success. |
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 // Open the program and see if it references the expected file. | 625 // Open the program and see if it references the expected file. |
622 base::win::ScopedHandle handle; | 626 base::win::ScopedHandle handle; |
623 BY_HANDLE_FILE_INFORMATION info = {}; | 627 BY_HANDLE_FILE_INFORMATION info = {}; |
624 | 628 |
625 return (OpenForInfo(path, &handle) && | 629 return (OpenForInfo(path, &handle) && |
626 GetInfo(handle, &info) && | 630 GetInfo(handle, &info) && |
627 info.dwVolumeSerialNumber == file_info_.dwVolumeSerialNumber && | 631 info.dwVolumeSerialNumber == file_info_.dwVolumeSerialNumber && |
628 info.nFileIndexHigh == file_info_.nFileIndexHigh && | 632 info.nFileIndexHigh == file_info_.nFileIndexHigh && |
629 info.nFileIndexLow == file_info_.nFileIndexLow); | 633 info.nFileIndexLow == file_info_.nFileIndexLow); |
630 } | 634 } |
OLD | NEW |