blob: 723335b4c967c3ff1f244d15ae6cc3113ee55f36 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
|
---
breadcrumbs:
- - /developers
- For Developers
page_name: installer
title: A short trip through the Chromium installer's mind!
---
## Installed components
* [Registry entries](/developers/installer#reg)
* [Shortcuts](/developers/installer#shortcuts)
### Registry Entries
Syntax:
<variable to be defined later>
{for all things matching this definition}
\[RegistryValue\]
(Wow6432Node\\) -- Only on 64-bit versions of Windows.
Entry types:
* *AppId entries* (Windows 8+ only):
* <root>\\Software\\Classes\\Chromium<suffix>
([AppUserModelId on
MSDN](http://msdn.microsoft.com/library/windows/desktop/dd378459.aspx))
* *ProgId entries*:
* <root>\\Software\\Classes\\ChromiumHTM<suffix>
([ProgId on
MSDN](http://msdn.microsoft.com/en-us/library/aa911706.aspx))
* *DelegateExecute COM registration entries* (Windows 8+ only):
* <root>\\Software\\Classes\\(Wow6432Node\\)CLSID\\{A2DF06F9-A21A-44A8-8A99-8B9C84F29160}
* *App Registration entries*:
* <root>\\Software\\Microsoft\\Windows\\CurrentVersion\\App
Paths\\chrome.exe (for ShellExecute to be able to find
chrome.exe without needing to modify PATH;
[MSDN](http://msdn.microsoft.com/library/windows/desktop/ee872121.aspx#appPaths)).
* <root>\\Software\\{file_assoc}\\OpenWithProgids\[ChromiumHTML<suffix>\]
(to show up in "Open With" in the context menu for supported
file types;
[MSDN](http://msdn.microsoft.com/library/bb166549.aspx)).
* *Shell Integration entries* (can only be registered in
<root>==HKLM pre-Win8):
* <root>\\Software\\Clients\\StartMenuInternet\\Chromium<suffix>
([StartMenuInternet on
MSDN](http://msdn.microsoft.com/library/windows/desktop/dd203067.aspx#internet))
* Capabilities (URL + File Associations) and other information
(put under this entry, but could theoretically be anywhere
in the registry;
[MSDN](http://msdn.microsoft.com/library/windows/desktop/cc144154.aspx#registration)).
* <root>\\Software\\RegisteredApplications\[Chromium<suffix>\]
(to appear in "Default Programs" and have the ability to become
default browser;
[MSDN](http://msdn.microsoft.com/library/windows/desktop/cc144154.aspx#RegisteredApplications)).
* *XP-style default browser entries*:
* <root>\\Software\\Classes\\{file_association |
protocol_association}\[Default\] = ChromiumHTM<suffix>
* These are not necessary post-XP to be the default browser,
but many programs are still hardcoded to lookup these
values.
* *Protocol specific entries*:
* <root>\\Software\\Client\\StartMenuInternet\\Chromium<suffix>\\Capabilities\\URLAssociations\[<protocol>\]
* *Active Setup entries* (Google Chrome system-level installs only --
[Active Setup design
doc](https://docs.google.com/a/google.com/document/d/1yQdG1wMDKi_lf0i8bk6P2_BWqudRb-ap6Y2C5f1RO2w/edit)):
* HKEY_LOCAL_MACHINE\\Software\\(Wow6432Node\\)Microsoft\\Active
Setup\\Installed
Components\\{8A69D345-D564-463c-AFF1-A69D9E530F96}
* *Uninstall entries*:
* <root>\\Software\\(Wow6432Node\\)Microsoft\\Windows\\CurrentVersion\\Uninstall\\Chromium
(to show up in "Programs and Features" or "Add or Remove
Programs" in the Control Panel)
Note: <root>\\Software\\Classes is also known as
[HKEY_CLASSES_ROOT](http://msdn.microsoft.com/library/windows/desktop/ms724475.aspx)
For *Google Chrome* replace the following values as indicated:
* Chromium --> Chrome (except for Protocol specific entries and
Uninstall entries)
* Chromium --> Google Chrome (for Protocol specific entries and
Uninstall entries)
* ChromiumHTM --> ChromeHTML
* StartMenuInternet\\Chromium --> StartMenuInternet\\Google Chrome
* {A2DF06F9-A21A-44A8-8A99-8B9C84F29160} -->
{5C65F4B0-3651-4514-B207-D10CB699B14B}
#### System-level installs
* <suffix> = ""
* At Install:
* All entry types fully registered in <root> =
HKEY_LOCAL_MACHINE
* If making Chromium default machine-wide:
* Register *XP-style default browser entries* in
<root>=HKEY_CURRENT_USER
* + When making Chromium default for a user:
* Register *XP-style default browser entries* in
<root>=HKEY_CURRENT_USER
* (on top of incanting Windows into making Chromium the default
browser, but that doesn't require any further registrations
post-XP).
* + When making Chrome the default handler for some protocol:
* Register *protocol specific entries* with
<root>=HKEY_LOCAL_MACHINE if not already registered
(requires UAC)
* Register *XP-style default entries* for this protocol with
<root>=HKEY_CURRENT_USER
#### User-level installs
* <suffix> = .<base32 encoding of the md5 hash of the user’s
SID> (which is always 26 characters (27 with the dot))
* Exception (for backward compatibility with old registration
schemas):
* <suffix> = <none> if the user already has the
unsuffixed registration in HKLM from the old-style
registrations.
* <suffix> = .<username> if the user already has
the username suffixed registration in HKLM from the
old-style registrations.
* Note: *AppId Entries* are always suffixed with the new-style
suffixed (as they were introduced after the registration
schema changes).
* At install:
* Install *AppId, ProgId, and App Registration entries* in
<root>=HKEY_CURRENT_USER.
* On Windows 8+ also install *Shell Integration entries in*
<root>=HKEY_CURRENT_USER.
* Before Windows 8, if |elevate_if_not_admin| (which is true when
triggering the "make chromium default" flow):
* Elevate (UAC) and register all entry types in
<root>=HKEY_LOCAL_MACHINE.
* When making Chromium default:
* If some registration are missing (i.e. *Shell Integration
entries* before Windows 8 if the user has not yet elevated
Chromium to complete registration):
* Elevate (UAC) and register all entry types in
<root>=HKEY_LOCAL_MACHINE.
* Register *XP-style default browser entries* in
<root>=HKEY_CURRENT_USER
* When making Chrome the default handler for some protocol:
* Register *protocol specific entries* with
<root>=HKEY_LOCAL_MACHINE (HKEY_CURRENT_USER on Win8+) if
not already registered (requires UAC before Win8)
* Register *XP-style default entries* for this protocol with
<root>=HKEY_CURRENT_USER
### Shortcuts
#### User-level installs
* At install:
* Create Start Menu shortcut (Start Screen on Win8)
C:\\Users\\<username>\\AppData\\Roaming\\Microsoft\\Windows\\Start
Menu\\Programs\\Chromium\\Chromium.lnk
* Pin shortcut to taskbar (Windows 7+)
C:\\Users\\<username>\\AppData\\Roaming\\Microsoft\\Internet
Explorer\\Quick Launch\\User Pinned\\TaskBar
* Create desktop shortcut
C:\\Users\\<username>\\Desktop
* Create Quick Launch shortcut
C:\\Users\\<username>\\AppData\\Roaming\\Microsoft\\Internet
Explorer\\Quick Launch
#### System-level installs
* At install:
* Create all-users Start Menu shortcut (in Win8 this will only
show on the Start Screen for the user running the install (i.e.,
not for new users); Microsoft claims that this is by design).
C:\\ProgramData\\Microsoft\\Windows\\Start
Menu\\Programs\\Chromium\\Chromium.lnk)
* Create all-users Desktop shortcut (shows on every user’s
Desktop, but if any user deletes it, it’s gone for all...)
C:\\Users\\Public\\Desktop\\Chromium.lnk
* At install (if the installer is running in a given user's context;
i.e., not for the MSI which runs as SYSTEM):
* Create per-user Quick Launch shortcut
C:\\Users\\<username>\\AppData\\Roaming\\Microsoft\\Internet
Explorer\\Quick Launch
* Pin shortcut to taskbar (WIndows 7+)
C:\\Users\\<username>\\AppData\\Roaming\\Microsoft\\Internet
Explorer\\Quick Launch\\User Pinned\\TaskBar
* Upon the next login of each other user (when *Active Setup* triggers
Chromium's *Active Setup* for that user and **only if** that user
has yet to run Chrome on this machine):
* Create per-user shortcuts that do not have a matching all-users
shortcut.
* Per-user Quick Launch shortcut.
* Pin shortcut to taskbar (Windows 7+).
* Per-user desktop shortcut (if the all-users Desktop shortcut
is absent).
* Per-user Start Menu shortcut (if the all-users Start Menu
shortcut is absent).
**Master Preferences**
* do_not_create_desktop_shortcut: Prevents creation of the Desktop
shortcut in all scenarios above (including Active Setup).
* do_not_create_quick_launch_shortcut: Prevents creation of the Quick
Launch shortcut (Windows XP only) in all scenarios above (including
Active Setup).
* do_not_create_taskbar_shortcut: Prevents creation of the taskbar pin
(Windows 7+) in all scenarios above (including Active Setup).
* do_not_create_any_shortcuts: Supersedes any other preference and
prevents creation of all shortcuts in all scenarios above (including
Active Setup).
For *Google Chrome* replace *Chromium* by *Google Chrome* above.
|