1 // Copyright 2016 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Brand-specific constants and install modes for Google Chrome. 6 7 #include "chrome/install_static/google_chrome_install_modes.h" 8 9 #include <stdlib.h> 10 11 #include "chrome/app/chrome_dll_resource.h" 12 #include "chrome/common/chrome_icon_resources_win.h" 13 #include "chrome/install_static/install_modes.h" 14 15 namespace install_static { 16 17 const wchar_t kCompanyPathName[] = L"Google"; 18 19 const wchar_t kProductPathName[] = L"Chrome"; 20 21 const size_t kProductPathNameLength = _countof(kProductPathName) - 1; 22 23 const char kSafeBrowsingName[] = "googlechrome"; 24 25 const InstallConstants kInstallModes[] = { 26 // The primary install mode for stable Google Chrome. 27 { 28 sizeof(kInstallModes[0]), 29 STABLE_INDEX, // The first mode is for stable/beta/dev. 30 "", // No install switch for the primary install mode. 31 L"", // Empty install_suffix for the primary install mode. 32 L"", // No logo suffix for the primary install mode. 33 L"{8A69D345-D564-463c-AFF1-A69D9E530F96}", 34 L"Google Chrome", // A distinct base_app_name. 35 L"Chrome", // A distinct base_app_id. 36 L"ChromeHTML", // ProgID prefix. 37 L"Chrome HTML Document", // ProgID description. 38 L"{8A69D345-D564-463c-AFF1-A69D9E530F96}", // Active Setup GUID. 39 L"{5C65F4B0-3651-4514-B207-D10CB699B14B}", // CommandExecuteImpl CLSID. 40 {0xA2C6CB58, 41 0xC076, 42 0x425C, 43 {0xAC, 0xB7, 0x6D, 0x19, 0xD6, 0x44, 0x28, 44 0xCD}}, // Toast Activator CLSID. 45 {0x708860E0, 46 0xF641, 47 0x4611, 48 {0x88, 0x95, 0x7D, 0x86, 0x7D, 0xD3, 0x67, 0x5B}}, // Elevator CLSID. 49 50 {0x463abecf, 51 0x410d, 52 0x407f, 53 {0x8a, 0xf5, 0xd, 0xf3, 0x5a, 0x0, 0x5c, 54 0xc8}}, // IElevator IID and TypeLib 55 // {463ABECF-410D-407F-8AF5-0DF35A005CC8}. 56 L"", // The empty string means "stable". 57 ChannelStrategy::ADDITIONAL_PARAMETERS, 58 true, // Supports system-level installs. 59 true, // Supports in-product set as default browser UX. 60 true, // Supports retention experiments. 61 icon_resources::kApplicationIndex, // App icon resource index. 62 IDR_MAINFRAME, // App icon resource id. 63 L"S-1-15-2-3251537155-1984446955-2931258699-841473695-1938553385-" 64 L"924012149-", // App container sid prefix for sandbox. 65 }, 66 // A secondary install mode for Google Chrome Beta 67 { 68 sizeof(kInstallModes[0]), 69 BETA_INDEX, // The mode for the side-by-side beta channel. 70 "chrome-beta", // Install switch. 71 L" Beta", // Install suffix. 72 L"Beta", // Logo suffix. 73 L"{8237E44A-0054-442C-B6B6-EA0509993955}", // A distinct app GUID. 74 L"Google Chrome Beta", // A distinct base_app_name. 75 L"ChromeBeta", // A distinct base_app_id. 76 L"ChromeBHTML", // ProgID prefix. 77 L"Chrome Beta HTML Document", // ProgID description. 78 L"{8237E44A-0054-442C-B6B6-EA0509993955}", // Active Setup GUID. 79 L"", // CommandExecuteImpl CLSID. 80 {0xB89B137F, 81 0x96AA, 82 0x4AE2, 83 {0x98, 0xC4, 0x63, 0x73, 0xEA, 0xA1, 0xEA, 84 0x4D}}, // Toast Activator CLSID. 85 {0xDD2646BA, 86 0x3707, 87 0x4BF8, 88 {0xB9, 0xA7, 0x3, 0x86, 0x91, 0xA6, 0x8F, 0xC2}}, // Elevator CLSID. 89 90 {0xa2721d66, 91 0x376e, 92 0x4d2f, 93 {0x9f, 0xf, 0x90, 0x70, 0xe9, 0xa4, 0x2b, 94 0x5f}}, // IElevator IID and TypeLib 95 // {A2721D66-376E-4D2F-9F0F-9070E9A42B5F}. 96 L"beta", // Forced channel name. 97 ChannelStrategy::FIXED, 98 true, // Supports system-level installs. 99 true, // Supports in-product set as default browser UX. 100 true, // Supports retention experiments. 101 icon_resources::kBetaApplicationIndex, // App icon resource index. 102 IDR_X005_BETA, // App icon resource id. 103 L"S-1-15-2-3251537155-1984446955-2931258699-841473695-1938553385-" 104 L"924012151-", // App container sid prefix for sandbox. 105 }, 106 // A secondary install mode for Google Chrome Dev 107 { 108 sizeof(kInstallModes[0]), 109 DEV_INDEX, // The mode for the side-by-side dev channel. 110 "chrome-dev", // Install switch. 111 L" Dev", // Install suffix. 112 L"Dev", // Logo suffix. 113 L"{401C381F-E0DE-4B85-8BD8-3F3F14FBDA57}", // A distinct app GUID. 114 L"Google Chrome Dev", // A distinct base_app_name. 115 L"ChromeDev", // A distinct base_app_id. 116 L"ChromeDHTML", // ProgID prefix. 117 L"Chrome Dev HTML Document", // ProgID description. 118 L"{401C381F-E0DE-4B85-8BD8-3F3F14FBDA57}", // Active Setup GUID. 119 L"", // CommandExecuteImpl CLSID. 120 {0xF01C03EB, 121 0xD431, 122 0x4C83, 123 {0x8D, 0x7A, 0x90, 0x27, 0x71, 0xE7, 0x32, 124 0xFA}}, // Toast Activator CLSID. 125 {0xDA7FDCA5, 126 0x2CAA, 127 0x4637, 128 {0xAA, 0x17, 0x7, 0x40, 0x58, 0x4D, 0xE7, 0xDA}}, // Elevator CLSID. 129 130 {0xbb2aa26b, 131 0x343a, 132 0x4072, 133 {0x8b, 0x6f, 0x80, 0x55, 0x7b, 0x8c, 0xe5, 134 0x71}}, // IElevator IID and TypeLib 135 // {BB2AA26B-343A-4072-8B6F-80557B8CE571}. 136 L"dev", // Forced channel name. 137 ChannelStrategy::FIXED, 138 true, // Supports system-level installs. 139 true, // Supports in-product set as default browser UX. 140 true, // Supports retention experiments. 141 icon_resources::kDevApplicationIndex, // App icon resource index. 142 IDR_X004_DEV, // App icon resource id. 143 L"S-1-15-2-3251537155-1984446955-2931258699-841473695-1938553385-" 144 L"924012152-", // App container sid prefix for sandbox. 145 }, 146 // A secondary install mode for Google Chrome SxS (canary). 147 { 148 sizeof(kInstallModes[0]), 149 CANARY_INDEX, // The mode for the side-by-side canary channel. 150 "chrome-sxs", // Install switch. 151 L" SxS", // Install suffix. 152 L"Canary", // Logo suffix. 153 L"{4ea16ac7-fd5a-47c3-875b-dbf4a2008c20}", // A distinct app GUID. 154 L"Google Chrome Canary", // A distinct base_app_name. 155 L"ChromeCanary", // A distinct base_app_id. 156 L"ChromeSSHTM", // ProgID prefix. 157 L"Chrome Canary HTML Document", // ProgID description. 158 L"{4ea16ac7-fd5a-47c3-875b-dbf4a2008c20}", // Active Setup GUID. 159 L"{1BEAC3E3-B852-44F4-B468-8906C062422E}", // CommandExecuteImpl CLSID. 160 {0xFA372A6E, 161 0x149F, 162 0x4E95, 163 {0x83, 0x2D, 0x8F, 0x69, 0x8D, 0x40, 0xAD, 164 0x7F}}, // Toast Activator CLSID. 165 {0x704C2872, 166 0x2049, 167 0x435E, 168 {0xA4, 0x69, 0xA, 0x53, 0x43, 0x13, 0xC4, 0x2B}}, // Elevator CLSID. 169 170 {0x4f7ce041, 171 0x28e9, 172 0x484f, 173 {0x9d, 0xd0, 0x61, 0xa8, 0xca, 0xce, 0xfe, 174 0xe4}}, // IElevator IID and TypeLib 175 // {4F7CE041-28E9-484F-9DD0-61A8CACEFEE4}. 176 L"canary", // Forced channel name. 177 ChannelStrategy::FIXED, 178 false, // Does not support system-level installs. 179 false, // Does not support in-product set as default browser UX. 180 true, // Supports retention experiments. 181 icon_resources::kSxSApplicationIndex, // App icon resource index. 182 IDR_SXS, // App icon resource id. 183 L"S-1-15-2-3251537155-1984446955-2931258699-841473695-1938553385-" 184 L"924012150-", // App container sid prefix for sandbox. 185 }, 186 }; 187 188 static_assert(_countof(kInstallModes) == NUM_INSTALL_MODES, 189 "Imbalance between kInstallModes and InstallConstantIndex"); 190 191 } // namespace install_static 192