blob: 132005e072e779e14bbf11d45e6b89a91a776816 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// The App Launcher is an adjunct product of Google Chrome, but it has a
// distinct registry entry. The functions in this file tap into various points
// in installer flow to update the App Launcher's registry, including the
// removal of deprecated app commands. This concentrates ugly code to to one
// place to facilitate future refactoring.
#include <windows.h>
namespace base {
class FilePath;
class Version;
} // namespace base
class WorkItemList;
namespace installer {
class InstallerState;
// Create Version key for a App Launcher (if not already present) and sets the
// new product version as the last step. We need this for App Launcher in
// order for shadow registry key to work.
void AddAppLauncherVersionKeyWorkItems(
HKEY root,
const base::Version& new_version,
bool add_language_identifier,
WorkItemList* list);
// Remove App Launcher's registry key, so it is in sync with Google Chrome's.
// Note: The key is added by App Launcher in SetDidRunForNDayActiveStats().
void RemoveAppLauncherVersionKey(HKEY reg_root);
// Adds work item to unconditionally remove legacy executables.
void AddRemoveLegacyAppHostExeWorkItems(const base::FilePath& target_path,
const base::FilePath& temp_path,
WorkItemList* list);
// Adds work item to unconditionally remove legacy app commands like
// "install-application", "install-extension", and
// "quick-enable-application-host".
void AddRemoveLegacyAppCommandsWorkItems(
const InstallerState& installer_state,
WorkItemList* work_item_list);
} // namespace installer
#endif // defined(GOOGLE_CHROME_BUILD)