Alternatywne opcje dystrybucji rozszerzeń

Wszystkie rozszerzenia do Chrome muszą być rozpowszechniane bezpośrednio ze sklepu Chrome Web Store lub za pomocą mechanizmów opisanych poniżej. Nieprzestrzeganie jednej z tych metod dystrybucji stanowi naruszenie zasad dotyczących rozszerzeń do Chrome i może spowodować oznaczenie rozszerzenia lub oprogramowania jako niechcianego oprogramowania.

Zazwyczaj użytkownicy instalują rozszerzenia z Chrome Web Store, ale czasami warto zainstalować rozszerzenie w inny sposób. Oto 2 typowe przypadki:

  • Rozszerzenie jest powiązane z innym oprogramowaniem, które powinno być instalowane za każdym razem, gdy użytkownik zainstaluje to inne oprogramowanie.
  • Administrator sieci chce zainstalować te same rozszerzenia w całej organizacji.

Rozszerzenie, które nie pochodzi z Chrome Web Store, jest nazywane rozszerzeniem zewnętrznym. Deweloperzy, którzy chcą rozpowszechnić rozszerzenie w ramach procesu instalacji innego oprogramowania, lub administratorzy sieci, którzy chcą rozpowszechnić to rozszerzenie w swojej organizacji, mogą skorzystać z tych metod instalacji rozszerzeń:

  • Przy użyciu pliku JSON z ustawieniami (tylko w systemach macOS X i Linux)
  • Przy użyciu rejestru systemu Windows (tylko w systemie Windows)

W obu przypadkach można zainstalować rozszerzenie hostowane w update_URL. W systemach Windows i macOS update_URL musi wskazywać sklep Chrome Web Store, w którym musi być hostowane rozszerzenie.

Plik ustawień w systemie Linux może wskazywać Twój własny serwer, na którym hostujesz rozszerzenie. Plik JSON z ustawieniami obsługuje też instalowanie rozszerzenia z pliku rozszerzenia .crx na komputerze z systemem Linux użytkownika.

Zanim zaczniesz

Najpierw publish rozszerzenie w Chrome Web Store lub spakuj plik .crx i upewnij się, że się udało.

W przypadku instalacji z adresu URL aktualizacji upewnij się, że jest ono prawidłowo hostowane.

Przed edytowaniem pliku ustawień lub rejestru zwróć uwagę na te kwestie:

  • Zamierzona lokalizacja pliku .crx rozszerzenia lub URL aktualizacji, z którego jest on udostępniany
  • Wersja rozszerzenia (z pliku manifestu lub ze strony chrome://extensions).
  • Identyfikator rozszerzenia (ze strony chrome://extensions po załadowaniu pakietu w pakiecie).

W podanych niżej przykładach założono, że wersja to 1.0, a identyfikator to aaaaaaaaaabbbbbbbbbbcccccccccc.

Przy użyciu pliku ustawień

  1. Jeśli instalujesz rozszerzenie z pliku w systemie Linux, udostępnij plik rozszerzenia .crx komputerowi, na którym chcesz je zainstalować. (Skopiuj go do katalogu lokalnego lub do udziału sieci, na przykład \\server\share\extension.crx lub /home/share/extension.crx).
  2. W jednym z tych folderów utwórz plik o tej nazwie: aaaaaaaaaabbbbbbbbbbcccccccccc.json, gdzie nazwa pliku (bez rozszerzenia) odpowiada identyfikatorowi rozszerzenia. Lokalizacja zależy od systemu operacyjnego.

    macOS X:

    W przypadku konkretnego użytkownika: ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/ Dla wszystkich użytkowników: /Library/Application Support/Google/Chrome/External Extensions/

    Zewnętrzny plik rozszerzenia dla wszystkich użytkowników jest odczytywany tylko wtedy, gdy każdy katalog w ścieżce należy do użytkownika root, ma grupę admin lub wheel i nie można go zapisać. Ścieżka nie może też zawierać dowiązań symbolicznych. Te ograniczenia uniemożliwiają użytkownikom bez uprawnień instalowanie rozszerzeń u wszystkich użytkowników. Szczegółowe informacje znajdziesz w sekcji Rozwiązywanie problemów.

    Linux:

    /opt/google/chrome/extensions/

    /usr/share/google-chrome/extensions/

    Uwaga: w razie potrzeby użyj chmod, aby mieć pewność, że pliki aaaaaaaaaabbbbbbbbbbcccccccccc.json są dostępne dla wszystkich.

  3. Tylko Linux: jeśli instalujesz rozszerzenie z pliku, określ lokalizację i wersję rozszerzenia w polach „external_crx” i „external_version” w utworzonym wcześniej pliku.

    • Przykład:
    • json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
    • Uwaga: musisz zmienić znaczenie każdego ciągu \` character in the location. For example,\server\share\extension.crxwould be"\\server\share\extension.crx"`.
    • Jeśli przeprowadzasz instalację z poziomu adresu URL aktualizacji, podaj adres URL aktualizacji rozszerzenia w polu o nazwie „external_update_url”.
    • Przykład instalacji z lokalnego pliku .crx (tylko w systemie Linux):
    • json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
    • Przykład instalacji z Chrome Web Store (Mac i Linux):
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
    • Jeśli chcesz zainstalować rozszerzenie tylko dla niektórych języków, możesz podać listę obsługiwanych języków w polu o nazwie „supported_locale”. Język nadrzędny może określać ustawienia regionalne (na przykład „en”). W takim przypadku rozszerzenie zostanie zainstalowane we wszystkich językach angielskim (np. „en-US”, „en-GB”). Jeśli zostanie wybrany inny język przeglądarki, który nie jest obsługiwany przez rozszerzenie, rozszerzenia zewnętrzne zostaną odinstalowane. Jeśli brakuje listy „supported_locales”, rozszerzenie zostanie zainstalowane w dowolnym języku.
    • Przykład:
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx", "supported_locales": [ "en", "fr", "de" ] }
  4. Zapisz plik JSON.

  5. Uruchom Google Chrome i otwórz chrome://extensions. To rozszerzenie powinno być widoczne na liście.

Rozwiązywanie problemów z uprawnieniami w systemie macOS

W systemie macOS pliki zewnętrznych rozszerzeń dla wszystkich użytkowników są odczytywane tylko wtedy, gdy uprawnienia systemu plików uniemożliwiają użytkownikom bez uprawnień zmianę tych plików. Jeśli po uruchomieniu Chrome nie widzisz zainstalowanych rozszerzeń zewnętrznych, może to oznaczać, że wystąpił problem z uprawnieniami w plikach ustawień rozszerzeń zewnętrznych. Aby sprawdzić, czy na tym polega problem, wykonaj te czynności:

  1. Uruchom program Console. Znajdziesz go w sekcji /Applications/Utilities/Console.
  2. Jeśli po lewej stronie w konsoli jest widoczna ikona „Pokaż listę logów”, kliknij ją. Po lewej stronie pojawi się druga kolumna.
  3. W panelu po lewej stronie kliknij „Console Messages” (Wiadomości konsoli).
  4. Wyszukaj ciąg Nie można odczytać rozszerzeń zewnętrznych. Jeśli wystąpi problem z odczytem plików rozszerzeń zewnętrznych, pojawi się komunikat o błędzie. Poszukaj bezpośrednio nad nim innego komunikatu o błędzie, który powinien wyjaśniać problem. Jeśli na przykład widzisz ten błąd: „Ścieżka /Library/Application Support/Google/Chrome należy do niewłaściwej grupy”, musisz użyć chgrp lub okna Pobierz informacje w Finderze, by zmienić właściciela grupy katalogu na grupę „Administrator”.
  5. Po rozwiązaniu problemu ponownie uruchom Chrome. Sprawdź, czy rozszerzenie zewnętrzne jest już zainstalowane. Możliwe, że jeden błąd uprawnień uniemożliwia Chrome wykrywanie drugiego błędu. Jeśli nie masz zainstalowanego rozszerzenia zewnętrznego, powtarzaj te czynności, aż w aplikacji Console nie pojawi się komunikat o błędzie.

Korzystanie z rejestru systemu Windows

  1. Znajdź lub utwórz ten klucz w rejestrze:
    • 32-bitowy Windows: HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
    • Windows 64-bitowy: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
  2. Pod kluczem Rozszerzenia utwórz nowy klucz (folder) o tej samej nazwie co identyfikator rozszerzenia (np. aaaaaaaaaabbbbbbbbbbcccccccccc).
  3. W kluczu rozszerzenia utwórz właściwość „update_url” i ustaw ją na wartość: „https://clients2.google.com/service/update2/crx” (wskazuje to plik crx rozszerzenia w Chrome Web Store):

    {
      "update_url": "https://clients2.google.com/service/update2/crx"
    }
    
  4. Uruchom przeglądarkę i otwórz chrome://extensions. To rozszerzenie powinno być widoczne na liście.

Aktualizowanie i odinstalowywanie

Przy każdym uruchomieniu przeglądarki Google Chrome skanuje wpisy metadanych w preferencjach i rejestrze, a także wprowadza niezbędne zmiany w zainstalowanych rozszerzeniach zewnętrznych.

Aby zaktualizować rozszerzenie do nowej wersji, zaktualizuj plik, a następnie wersję w ustawieniach lub rejestrze.

Aby odinstalować rozszerzenie (na przykład po odinstalowaniu oprogramowania), usuń z rejestru plik ustawień (aaaaaaaaabbbbbbbbbbcccccccccc.json) lub metadane z rejestru.

Najczęstsze pytania

W tej sekcji znajdziesz odpowiedzi na najczęstsze pytania dotyczące rozszerzeń zewnętrznych.

Czy metodologia zezwalania na „wstępną instalację” będzie nadal obsługiwana przez Google Chrome od wersji M33?

Tak, ale tylko jako instalacja ze sklepu Chrome Web Store update_URL, a nie za pomocą lokalnej ścieżki pliku.

Czy mogę podać adres URL jako ścieżkę do rozszerzenia zewnętrznego?

Tak. W przypadku systemów macOS X i Linux użyj pliku pliku JSON ustawień oraz registry dla systemu Windows. Rozszerzenie musi być hostowane zgodnie z opisem w sekcji hosting. W pliku ustawień użyj właściwości „external_update_url”, by wskazać plik manifestu aktualizacji z adresem URL Twojego rozszerzenia. W rejestrze systemu Windows użyj właściwości „update_url”.

Jakie są typowe błędy dotyczące instalacji za pomocą pliku ustawień?

  • nie określono tego samego identyfikatora lub wersji co identyfikator wymieniony w zasadzie .crx.
  • Plik .json (aaaaaaaaaabbbbbbbbbbcccccccccc.json) znajduje się w niewłaściwej lokalizacji lub podany identyfikator nie pasuje do identyfikatora rozszerzenia.
  • Błąd składni w pliku JSON (zapominanie rozdzielenia wpisów przecinkami lub pozostawienie końcowego przecinka)
  • Wpis w pliku JSON wskazuje niewłaściwą ścieżkę do pliku .crx (lub do podanej ścieżki, ale bez nazwy pliku).
  • Ukośnik lewy w ścieżce UNC bez zmiany znaczenia (np. "\\server\share\file" jest nieprawidłowy, a powinno być "\\\\server\\share\\extension")
  • Problemy z uprawnieniami w współdzieleniu sieciowym

Jakie są typowe błędy dotyczące instalacji za pomocą rejestru?

  • nie mają tego samego identyfikatora lub wersji co identyfikator podany w Chrome Web Store,
  • Klucz utworzony w niewłaściwym miejscu w rejestrze
  • Wpis w rejestrze wskazuje niewłaściwą ścieżkę do pliku .crx w Chrome Web Store.
  • Problemy z uprawnieniami w współdzieleniu sieciowym

Jak zaktualizować natywne pliki binarne i rozszerzenia?

Wcześniej, gdy obsługiwane były rozszerzenia spoza sklepu, można było mieć natywne pliki binarne i zaktualizować rozszerzenie na etapie blokady. Jednak rozszerzenia hostowane w Chrome Web Store są aktualizowane w ramach mechanizmu aktualizacji Chrome, nad którym deweloperzy nie mają kontroli. Deweloperzy rozszerzeń powinni zachować ostrożność podczas aktualizowania rozszerzeń, które zależą od natywnego pliku binarnego (np. rozszerzeń starszego typu korzystających z interfejsu NPAPI).

Co się stanie, jeśli użytkownik odinstaluje rozszerzenie?

Jeśli użytkownik odinstaluje rozszerzenie przy użyciu interfejsu, nie będzie ono już instalowane ani aktualizowane przy każdym uruchomieniu. Inaczej mówiąc, rozszerzenie zewnętrzne znajduje się na liście zablokowanych.

Jak usunąć się z listy zablokowanych?

Jeśli użytkownik odinstaluje rozszerzenie, należy uszanować tę decyzję. Jeśli jednak (programista) przypadkowo odinstalujesz rozszerzenie z poziomu interfejsu, możesz usunąć tag listy zablokowanych. Aby to zrobić, normalnie zainstaluj rozszerzenie z poziomu interfejsu, a potem je odinstaluj.