Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1539)

Side by Side Diff: chrome/common/extensions/docs/templates/articles/external_extensions.html

Issue 1137753005: Updating extension hosting docs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ben's fixes Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/common/extensions/docs/templates/articles/hosting.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <h1>Other Deployment Options</h1> 1 <h1>Alternative Extension Distribution Options</h1>
2 2
3 <p> 3 <p>
4 Usually, users install their own extensions. 4 All Chrome extensions must be distributed either directly from the Chrome Web St ore,
5 using
6 <a href="/webstore/inline_installation">inline installation</a>,
7 or using the mechanisms described below.
8 Failure to comply with one of these distribution methods constitutes
9 a violation of the
10 <a href="/extensions/single_purpose">Chrome extension policy</a>
11 and may result in the extension
12 and/or the software distributing it to be flagged as
13 <a href="https://www.google.com/about/company/unwanted-software-policy.html">unw anted software</a>.
14 </p>
15
16 <p>
17 Usually, users install their own extensions from the Chrome Web Store
18 or some other site via
19 <a href="/webstore/inline_installation">inline installation</a>.
5 But sometimes you might want an extension 20 But sometimes you might want an extension
6 to be installed automatically. 21 to be installed via other means.
7 Here are two typical cases: 22 Here are two typical cases:
8 </p> 23 </p>
9 24
10 <ul> 25 <ul>
11 <li> 26 <li>
12 An extension is associated with some other software, 27 An extension is associated with some other software,
13 and the extension should be installed 28 and the extension should be installed
14 whenever the user installs that other software. 29 whenever the user installs that other software.
15 The extension could also be uninstalled
16 when the user removes that other software.
17 </li> 30 </li>
18 <li> 31 <li>
19 A network admin wants to install the same extensions 32 A network admin wants to install the same extensions
20 throughout the company. 33 throughout their organization.
21 </li> 34 </li>
22 </ul> 35 </ul>
23 36
24 <p> 37 <p>
25 An extension that's installed automatically is known as an 38 An extension that's installed neither from the Chrome West Store
39 nor as an inline installation is known as an
26 <em>external extension</em>. 40 <em>external extension</em>.
27 Google Chrome supports two ways of 41 For developers who want to distribute an extension as part
28 installing external extensions: 42 of the installation process for other software,
43 or for network admins that want to distribute an extension
44 throughout their organization,
45 Google Chrome supports the following extension installation methods:
29 </p> 46 </p>
30 47
31 <ul> 48 <ul>
32 <li> Using a preferences JSON file (Mac OS X and Linux only)</li> 49 <li> Using a preferences JSON file (for Mac OS X and Linux only)</li>
33 <li> Using the Windows registry (Windows only) </li> 50 <li> Using the Windows registry (for Windows only) </li>
34 </ul> 51 </ul>
35 52
36 <p> 53 <p>
37 Both ways support installing an extension hosted at an 54 Both ways support installing an extension hosted at an
38 <code>update_URL</code>. 55 <code>update_URL</code>.
39 In the Windows registry, 56 On Windows and Mac,
40 the <code>update_URL</code> must point to the Chrome Web Store 57 the <code>update_URL</code> must point to the Chrome Web Store
41 where the extension is hosted. 58 where the extension must be hosted.
42 </p> 59 </p>
43 60
44 <p> 61 <p>
45 In the preferences file, 62 The preferences file on Linux can point
46 it can point to your own server where you are hosting the extension 63 to your own server where you are hosting the extension
47 (see <a href="autoupdate#update_url">autoupdating</a>). 64 (see <a href="autoupdate#update_url">autoupdating</a>).
48 The preferences JSON file also supports installing 65 The preferences JSON file also supports installing
49 an extension from a <code>.crx</code> extension 66 an extension from a <code>.crx</code> extension
50 file on the user's computer 67 file on the user's Linux computer
51 (see <a href="hosting">hosting</a>). 68 (see <a href="hosting">hosting</a>).
52 </p> 69 </p>
53 70
54 71
55 <p class="note"> 72 <p class="note">
56 <b>Install extensions from your website:</b> 73 <b>Install extensions from your website:</b>
57 The safest option for your users is to publish your extension 74 Among these methods,
75 the safest option for your users is to publish your extension
58 in the Chrome Web Store. 76 in the Chrome Web Store.
59 Instead of hosting your own extension, 77 Instead of hosting your own extension,
60 publish it in the store, and link to the store install using 78 publish it in the store, and provide an
61 <a href="https://developers.google.com/chrome/web-store/docs/inline_installation ">inline installation</a>. 79 <a href="https://developers.google.com/chrome/web-store/docs/inline_installation ">inline installation</a> link from your website.
62 </p> 80 </p>
63 81
64 <h2 id="prereqs">Before you begin</h2> 82 <h2 id="prereqs">Before you begin</h2>
65 83
66 <p> 84 <p>
67 First, <a href="/webstore/publish">publish</a> 85 First, <a href="/webstore/publish">publish</a>
68 the extension in the Chrome Web Store, 86 the extension in the Chrome Web Store,
69 or package a <a href="packaging"><code>.crx</code> file</a> 87 or package a <a href="packaging"><code>.crx</code> file</a>
70 and make sure that it installs successfully. 88 and make sure that it installs successfully.
71 </p> 89 </p>
72 90
73 91
74 <p class="warning"> 92 <p class="warning">
75 <b>Windows installs must come from Chrome Web Store:</b><br> 93 <b>Windows and Mac installs must come from Chrome Web Store:</b><br>
76 As of Chrome 33, 94 As of Chrome 33,
77 no external installs are allowed from a path to a local <code>.crx</code> 95 no external installs are allowed from a path to a local <code>.crx</code> on Win dows
78 (see <a href="http://blog.chromium.org/2013/11/protecting-windows-users-from-mal icious.html">Protecting Windows users from malicious extensions</a>). 96 (see <a href="http://blog.chromium.org/2013/11/protecting-windows-users-from-mal icious.html">Protecting Windows users from malicious extensions</a>).
97 As of Chrome 44,
98 no external installs are allowed from a path to a local .crx on Mac
99 (see <a href="http://blog.chromium.org/2015/05/continuing-to-protect-chrome-user s-from.html">Continuing to protect Chrome users from malicious extensions</a>).
79 </p> 100 </p>
80 101
81 <p> 102 <p>
82 If installing from an 103 If installing from an
83 <a href="autoupdate#update_url">update URL</a>, ensure that the extension 104 <a href="autoupdate#update_url">update URL</a>, ensure that the extension
84 is properly <a href="hosting">hosted</a>. 105 is properly <a href="hosting">hosted</a>.
85 </p> 106 </p>
86 107
87 <p> 108 <p>
88 Before you edit the preferences file or the registry, 109 Before you edit the preferences file or the registry,
(...skipping 19 matching lines...) Expand all
108 129
109 <br> 130 <br>
110 131
111 <p class="note"> 132 <p class="note">
112 <b>Mac OS X and Linux only:</b> 133 <b>Mac OS X and Linux only:</b>
113 Do not use the preferences file for Windows. 134 Do not use the preferences file for Windows.
114 Use <a href="#registry">Windows registry</a> instead. 135 Use <a href="#registry">Windows registry</a> instead.
115 </p> 136 </p>
116 137
117 <ol> 138 <ol>
118 <li>If you are installing from a file, make the <code>.crx</code> extension 139 <li>If you are installing from a file on Linux, make the <code>.crx</code> exten sion
119 file available to the machine you want to install the extension on. 140 file available to the machine you want to install the extension on.
120 (Copy it to a local directory or to a network share for example, 141 (Copy it to a local directory or to a network share for example,
121 <code>\\server\share\extension.crx</code> 142 <code>\\server\share\extension.crx</code>
122 or <code>/home/share/extension.crx</code>.) 143 or <code>/home/share/extension.crx</code>.)
123 </li> 144 </li>
124 145
125 <li>Create a file with the following name in one of the folders listed below: 146 <li>Create a file with the following name in one of the folders listed below:
126 <code>aaaaaaaaaabbbbbbbbbbcccccccccc.json</code> where the file name (without the extension) 147 <code>aaaaaaaaaabbbbbbbbbbcccccccccc.json</code> where the file name (without the extension)
127 corresponds to your extension's ID. 148 corresponds to your extension's ID.
128 The location depends on the operating system. 149 The location depends on the operating system.
(...skipping 12 matching lines...) Expand all
141 <dd> <code>/opt/google/chrome/extensions/</code> <br> 162 <dd> <code>/opt/google/chrome/extensions/</code> <br>
142 </dd> 163 </dd>
143 <dd> <code>/usr/share/google-chrome/extensions/</code> <br> 164 <dd> <code>/usr/share/google-chrome/extensions/</code> <br>
144 <b>Note:</b> Use <code>chmod</code> if necessary 165 <b>Note:</b> Use <code>chmod</code> if necessary
145 to make sure that the <code>aaaaaaaaaabbbbbbbbbbcccccccccc.json</code> files 166 to make sure that the <code>aaaaaaaaaabbbbbbbbbbcccccccccc.json</code> files
146 are world-readable. 167 are world-readable.
147 </dd> 168 </dd>
148 </dl> 169 </dl>
149 </li> 170 </li>
150 171
151 <li>If you are installing from a file, specify the extension's location and vers ion with fields 172 <li>Linux only: If you are installing from a file, specify the extension's locat ion and version with fields
152 named "external_crx" and "external_version" in the file created above. 173 named "external_crx" and "external_version" in the file created above.
153 <p> 174 <ul>
154 Example: 175 <li>Example:</li>
176 <li>
155 <pre> 177 <pre>
156 { 178 {
157 "external_crx": "/home/share/extension.crx", 179 "external_crx": "/home/share/extension.crx",
158 "external_version": "1.0" 180 "external_version": "1.0"
159 } 181 }
160 </pre> 182 </pre>
161 </p> 183 </li>
162 <p class="note"> 184 <li>
163 <b>Note:</b> 185 <b>Note:</b>
164 You need to escape 186 You need to escape
165 each <code>\</code> character in the location. 187 each <code>\</code> character in the location.
166 For example, 188 For example,
167 <code>\\server\share\extension.crx</code> would be 189 <code>\\server\share\extension.crx</code> would be
168 <code>"\\\\server\\share\\extension.crx"</code>. 190 <code>"\\\\server\\share\\extension.crx"</code>.
169 </p> 191 </li>
170 <p> 192 </ul>
171 <p> 193 </li>
172 If you are installing from an update URL, specify the extension's update URL 194
173 with field name "external_update_url". 195 <li>If you are installing from an update URL, specify the extension's update URL
174 </p> 196 with field name "external_update_url".</li>
175 Example: 197
176 <pre>{ 198 <li>
177 "external_update_url": "http://myhost.com/mytestextension/updates.xml" 199 Example of installation from local .crx file (Linux only):
178 }</pre> 200 <ol>
179 <p> 201 <li>
202 <pre>
203 {
204 "external_update_url": "http://myhost.com/mytestextension/updates.xml"
205 }
206 </pre>
207 </li>
208 </ol>
209 </li>
210
211 <li>
212 Example of installation from the Chrome Webstore (Mac and Linux):
213 <ol>
214 <li>
215 <pre>
216 {
217 "external_update_url": "https://clients2.google.com/service/update2/crx"
218 }
219 </pre>
220 </li>
221 </ol>
222 </li>
223
224 <li>
180 If you would like to install extension only for some browser locales, 225 If you would like to install extension only for some browser locales,
181 you can list supported locales in field name "supported_locale". Locale may 226 you can list supported locales in field name "supported_locale". Locale may
182 specify parent locale like "en", in this case the extension will be 227 specify parent locale like "en", in this case the extension will be
183 installed for all English locales like "en-US", "en-GB", etc. 228 installed for all English locales like "en-US", "en-GB", etc.
184 If another browser locale is selected that is not supported by the extension, 229 If another browser locale is selected that is not supported by the extension,
185 the external extensions will be uninstalled. If "supported_locales" list 230 the external extensions will be uninstalled. If "supported_locales" list
186 is missing, the extension will be installed for any locale. 231 is missing, the extension will be installed for any locale.
187 </p> 232 <ul>
188 Example: 233 <li>Example:</li>
189 <pre>{ 234 <li>
190 "external_update_url": "http://myhost.com/mytestextension/updates.xml", 235 <pre>
191 "supported_locales": [ "en", "fr", "de" ] 236 {
192 }</pre> 237 "external_update_url": "https://clients2.google.com/service/update2/crx",
238 "supported_locales": [ "en", "fr", "de" ]
239 }
240 </pre>
241 </li>
242 </ul>
193 </li> 243 </li>
194 <li>Save the JSON file.</li> 244 <li>Save the JSON file.</li>
195 <li>Launch Google Chrome and go to <b>chrome://extensions</b>; 245 <li>Launch Google Chrome and go to <b>chrome://extensions</b>;
196 you should see the extension listed. </li> 246 you should see the extension listed. </li>
197 </ol> 247 </ol>
198 248
199 <p class="note"> 249 <p class="note">
200 <b>Note:</b> 250 <b>Note:</b>
201 Previous versions of Google Chrome used an 251 Previous versions of Google Chrome used an
202 <code>external_extensions.json</code> file to specify which extensions to 252 <code>external_extensions.json</code> file to specify which extensions to
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 external extension is blacklisted. </p> 387 external extension is blacklisted. </p>
338 388
339 <p><b>How do I get off the blacklist?</b> </p> 389 <p><b>How do I get off the blacklist?</b> </p>
340 <p>If the user uninstalls your extension, you should respect that 390 <p>If the user uninstalls your extension, you should respect that
341 decision. However, if you (the developer) accidentally uninstalled 391 decision. However, if you (the developer) accidentally uninstalled
342 your extension through the UI, 392 your extension through the UI,
343 you can remove the blacklist tag 393 you can remove the blacklist tag
344 by installing the extension normally 394 by installing the extension normally
345 through the UI, and then uninstalling it. </p> 395 through the UI, and then uninstalling it. </p>
346 396
OLDNEW
« no previous file with comments | « no previous file | chrome/common/extensions/docs/templates/articles/hosting.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698