| 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 |