OLD | NEW |
1 <h1>Other Deployment Options</h1> | 1 <h1>Other Deployment Options</h1> |
2 | 2 |
3 <p> | 3 <p> |
4 Usually, users install their own extensions. | 4 Usually, users install their own extensions. |
5 But sometimes you might want an extension | 5 But sometimes you might want an extension |
6 to be installed automatically. | 6 to be installed automatically. |
7 Here are two typical cases: | 7 Here are two typical cases: |
8 </p> | 8 </p> |
9 | 9 |
10 <ul> | 10 <ul> |
(...skipping 26 matching lines...) Expand all Loading... |
37 Both ways support installing an extension hosted at an | 37 Both ways support installing an extension hosted at an |
38 <code>update_URL</code>. | 38 <code>update_URL</code>. |
39 In the Windows registry, | 39 In the Windows registry, |
40 the <code>update_URL</code> must point to the Chrome Web Store | 40 the <code>update_URL</code> must point to the Chrome Web Store |
41 where the extension is hosted. | 41 where the extension is hosted. |
42 </p> | 42 </p> |
43 | 43 |
44 <p> | 44 <p> |
45 In the preferences file, | 45 In the preferences file, |
46 it can point to your own server where you are hosting the extension | 46 it can point to your own server where you are hosting the extension |
47 (see <a href="autoupdate.html#update_url">autoupdating</a>). | 47 (see <a href="autoupdate#update_url">autoupdating</a>). |
48 The preferences JSON file also supports installing | 48 The preferences JSON file also supports installing |
49 an extension from a <code>.crx</code> extension | 49 an extension from a <code>.crx</code> extension |
50 file on the user's computer | 50 file on the user's computer |
51 (see <a href="hosting.html">hosting</a>). | 51 (see <a href="hosting">hosting</a>). |
52 </p> | 52 </p> |
53 | 53 |
54 | 54 |
55 <p class="note"> | 55 <p class="note"> |
56 <b>Install extensions from your website:</b> | 56 <b>Install extensions from your website:</b> |
57 The safest option for your users is to publish your extension | 57 The safest option for your users is to publish your extension |
58 in the Chrome Web Store. | 58 in the Chrome Web Store. |
59 Instead of hosting your own extension, | 59 Instead of hosting your own extension, |
60 publish it in the store, and link to the store install using | 60 publish it in the store, and link to the store install using |
61 <a href="https://developers.google.com/chrome/web-store/docs/inline_installation
">inline installation</a>. | 61 <a href="https://developers.google.com/chrome/web-store/docs/inline_installation
">inline installation</a>. |
62 </p> | 62 </p> |
63 | 63 |
64 <h2 id="prereqs">Before you begin</h2> | 64 <h2 id="prereqs">Before you begin</h2> |
65 | 65 |
66 <p> | 66 <p> |
67 First, <a href="/webstore/publish.html">publish</a> | 67 First, <a href="/webstore/publish">publish</a> |
68 the extension in the Chrome Web Store, | 68 the extension in the Chrome Web Store, |
69 or package a <a href="packaging.html"><code>.crx</code> file</a> | 69 or package a <a href="packaging"><code>.crx</code> file</a> |
70 and make sure that it installs successfully. | 70 and make sure that it installs successfully. |
71 </p> | 71 </p> |
72 | 72 |
73 | 73 |
74 <p class="warning"> | 74 <p class="warning"> |
75 <b>Windows installs must come from Chrome Web Store:</b><br> | 75 <b>Windows installs must come from Chrome Web Store:</b><br> |
76 As of Chrome 33, | 76 As of Chrome 33, |
77 no external installs are allowed from a path to a local <code>.crx</code> | 77 no external installs are allowed from a path to a local <code>.crx</code> |
78 (see <a href="http://blog.chromium.org/2013/11/protecting-windows-users-from-mal
icious.html">Protecting Windows users from malicious extensions</a>). | 78 (see <a href="http://blog.chromium.org/2013/11/protecting-windows-users-from-mal
icious.html">Protecting Windows users from malicious extensions</a>). |
79 </p> | 79 </p> |
80 | 80 |
81 <p> | 81 <p> |
82 If installing from an | 82 If installing from an |
83 <a href="autoupdate.html#update_url">update URL</a>, ensure that the extension | 83 <a href="autoupdate#update_url">update URL</a>, ensure that the extension |
84 is properly <a href="hosting.html">hosted</a>. | 84 is properly <a href="hosting">hosted</a>. |
85 </p> | 85 </p> |
86 | 86 |
87 <p> | 87 <p> |
88 Before you edit the preferences file or the registry, | 88 Before you edit the preferences file or the registry, |
89 make a note of the following: | 89 make a note of the following: |
90 </p> | 90 </p> |
91 | 91 |
92 <ul> | 92 <ul> |
93 <li> The intended <b>location</b> of the extension's <code>.crx</code> file, | 93 <li> The intended <b>location</b> of the extension's <code>.crx</code> file, |
94 or the update URL from which it is served </li> | 94 or the update URL from which it is served </li> |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 <p><b>Will the methodology for allowing a “pre-install” still be supported | 272 <p><b>Will the methodology for allowing a “pre-install” still be supported |
273 by Google Chrome from M33 onwards?</b></p> | 273 by Google Chrome from M33 onwards?</b></p> |
274 <p>Yes, but only as an install from a Chrome Web Store | 274 <p>Yes, but only as an install from a Chrome Web Store |
275 <code>update_URL</code>, | 275 <code>update_URL</code>, |
276 not from a local file path.</p> | 276 not from a local file path.</p> |
277 | 277 |
278 <p><b>Can I specify a URL as a path to the external extension?</b> </p> | 278 <p><b>Can I specify a URL as a path to the external extension?</b> </p> |
279 <p>Yes, use the <a href="#preferences">preferences JSON</a> file | 279 <p>Yes, use the <a href="#preferences">preferences JSON</a> file |
280 for Mac OS X and Linux; the <a href="#registry">registry</a> for Windows. | 280 for Mac OS X and Linux; the <a href="#registry">registry</a> for Windows. |
281 The extension must be hosted as explained in | 281 The extension must be hosted as explained in |
282 <a href="hosting.html">hosting</a>. | 282 <a href="hosting">hosting</a>. |
283 In the preferences file, | 283 In the preferences file, |
284 use the "external_update_url" property to point to an | 284 use the "external_update_url" property to point to an |
285 <a href="autoupdate.html#update_manifest">update manifest</a> that has the URL f
or your | 285 <a href="autoupdate#update_manifest">update manifest</a> that has the URL for yo
ur |
286 extension. | 286 extension. |
287 In the Windows registry, | 287 In the Windows registry, |
288 use the "update_url" property.</p> | 288 use the "update_url" property.</p> |
289 | 289 |
290 <p><b>What are some common mistakes when installing with the preferences | 290 <p><b>What are some common mistakes when installing with the preferences |
291 file?</b></p> | 291 file?</b></p> |
292 <ul> | 292 <ul> |
293 <li> | 293 <li> |
294 Not specifying the same id/version | 294 Not specifying the same id/version |
295 as the one listed in the <code>.crx</code> </li> | 295 as the one listed in the <code>.crx</code> </li> |
(...skipping 25 matching lines...) Expand all Loading... |
321 <li>Permissions problems on a network share </li> | 321 <li>Permissions problems on a network share </li> |
322 </ul> | 322 </ul> |
323 | 323 |
324 <p><b>How do I update my native binaries and extension in-step?</b></p> | 324 <p><b>How do I update my native binaries and extension in-step?</b></p> |
325 <p>Previously when off-store extensions were supported, | 325 <p>Previously when off-store extensions were supported, |
326 it was possible to have the native binaries and the extension be updated in lock
step. | 326 it was possible to have the native binaries and the extension be updated in lock
step. |
327 However, extensions hosted on the Chrome Web Store are updated | 327 However, extensions hosted on the Chrome Web Store are updated |
328 via the Chrome update mechanism which developers do not control. | 328 via the Chrome update mechanism which developers do not control. |
329 Extension developers should be careful about updating extensions | 329 Extension developers should be careful about updating extensions |
330 that have a dependency on the native binary | 330 that have a dependency on the native binary |
331 (for example, legacy extensions using <a href="npapi.html">NPAPI</a>). | 331 (for example, legacy extensions using <a href="npapi">NPAPI</a>). |
332 </p> | 332 </p> |
333 | 333 |
334 <p><b>What if the user uninstalls the extension?</b> </p> | 334 <p><b>What if the user uninstalls the extension?</b> </p> |
335 <p>If the user uninstalls the extension through the UI, it will no | 335 <p>If the user uninstalls the extension through the UI, it will no |
336 longer be installed or updated on each startup. In other words, the | 336 longer be installed or updated on each startup. In other words, the |
337 external extension is blacklisted. </p> | 337 external extension is blacklisted. </p> |
338 | 338 |
339 <p><b>How do I get off the blacklist?</b> </p> | 339 <p><b>How do I get off the blacklist?</b> </p> |
340 <p>If the user uninstalls your extension, you should respect that | 340 <p>If the user uninstalls your extension, you should respect that |
341 decision. However, if you (the developer) accidentally uninstalled | 341 decision. However, if you (the developer) accidentally uninstalled |
342 your extension through the UI, | 342 your extension through the UI, |
343 you can remove the blacklist tag | 343 you can remove the blacklist tag |
344 by installing the extension normally | 344 by installing the extension normally |
345 through the UI, and then uninstalling it. </p> | 345 through the UI, and then uninstalling it. </p> |
346 | 346 |
OLD | NEW |