1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/installer/mini_installer/mini_installer_constants.h"
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace mini_installer {
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Various filenames and prefixes.
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The target name of the installer extracted from resources.
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kSetupExe[] = L"setup.exe";
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The prefix of the chrome archive resource.
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kChromeArchivePrefix[] = L"chrome";
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The prefix of the installer resource.
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kSetupPrefix[] = L"setup";
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Command line switch names for setup.exe.
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kCmdInstallArchive[] = L"install-archive";
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kCmdUpdateSetupExe[] = L"update-setup-exe";
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kCmdNewSetupExe[] = L"new-setup-exe";
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Temp directory prefix that this process creates.
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kTempPrefix[] = L"CR_";
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// ap value suffix to force subsequent updates to use the full rather than
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// differential updater.
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kFullInstallerSuffix[] = L"-full";
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// ap value tag for a multi-install product.
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kMultiInstallTag[] = L"-multi";
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The resource types that would be unpacked from the mini installer.
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Uncompressed binary.
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kBinResourceType[] = L"BN";
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// LZ compressed binary.
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kLZCResourceType[] = L"BL";
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// 7zip archive.
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kLZMAResourceType[] = L"B7";
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Registry value names.
39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The name of an app's Client State registry value that holds its tag/channel.
40116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kApRegistryValue[] = L"ap";
41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The name of the value in kCleanupRegistryKey that tells the installer not to
42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// delete extracted files.
43116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kCleanupRegistryValue[] = L"ChromeInstallerCleanup";
44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The name of an app's Client State registry value that holds the path to its
45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// uninstaller.
46116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kUninstallRegistryValue[] = L"UninstallString";
47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Registry key paths.
49116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#if defined(GOOGLE_CHROME_BUILD)
50116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The path to the key containing each app's Client State registry key.
51116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kClientStateKeyBase[] =
52116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    L"Software\\Google\\Update\\ClientState\\";
53116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The path to the key in which kCleanupRegistryValue is found.
54116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kCleanupRegistryKey[] =
55116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Google Chrome";
56116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#else
57116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The path to the key containing each app's Client State registry key.
58116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kClientStateKeyBase[] = L"Software\\Chromium";
59116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// The path to the key in which kCleanupRegistryValue is found.
60116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst wchar_t kCleanupRegistryKey[] = L"Software\\Chromium";
61116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif
62116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
63116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// One gigabyte is the biggest resource size that it can handle.
64116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst size_t kMaxResourceSize = 1024*1024*1024;
65116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
66116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace mini_installer
67