일반적으로 Chrome 사용자는 Chrome 웹 스토어의 확장 프로그램 목록을 방문한 후 해당 페이지에서 직접 확장 프로그램을 설치하여 확장 프로그램을 설치합니다. 하지만 경우에 따라 다른 설치 흐름이 더 적합할 수 있습니다. 예를 들면 다음과 같습니다.
- 확장 프로그램이 다른 소프트웨어와 연결되어 있으며 사용자가 해당 소프트웨어를 설치할 때마다 확장 프로그램이 설치되어야 합니다.
- 네트워크 관리자가 조직 전체에 동일한 확장 프로그램을 설치하려고 합니다.
이전 사례의 경우 Chrome은 다음과 같은 확장 프로그램 설치 방법을 지원합니다.
- preferences JSON 파일 사용 (macOS X 및 Linux만 해당)
- Windows 레지스트리 사용하기 (Windows만 해당)
두 가지 방법 모두 update_URL
에 호스팅된 확장 프로그램 설치를 지원합니다. Windows 및 macOS에서는 update_URL
가 Chrome 웹 스토어를 가리켜야 합니다. 이러한 방법을 사용하여 확장 프로그램이 설치되면 Windows 및 macOS 사용자는 다음 확인 대화상자를 사용하여 확장 프로그램을 사용 설정해야 합니다.
Linux에서는 환경설정 파일이 Chrome 웹 스토어 확장 프로그램, 외부 호스팅 확장 프로그램 또는 사용자 컴퓨터의 CRX 확장 프로그램 파일을 가리킬 수 있습니다. Linux 사용자에게는 확장 프로그램을 사용 설정하라는 메시지가 표시되지 않으며 자동으로 설치됩니다.
시작하기 전에
Chrome 웹 스토어에서 설치
Chrome 웹 스토어에 호스팅된 확장 프로그램을 배포하는 경우 먼저 확장 프로그램을 게시해야 합니다. 그런 다음 다음을 기록해 둡니다.
- 업데이트 URL:
https://clients2.google.com/service/update2/crx
이 URL은 Chrome 웹 스토어를 가리킵니다. - 확장 프로그램의 ID: 확장 프로그램의 Chrome 웹 스토어 URL에서 확인할 수 있습니다.
로컬 CRX 파일에서 설치
로컬 파일에서 Linux 사용자에게 배포하는 경우 CRX 파일을 패키징하고 다음 정보를 확인해야 합니다.
확장 프로그램 ID: 확장 프로그램 관리 페이지
chrome://extensions
에서 확인할 수 있습니다.확장 프로그램 버전: 확장 프로그램 관리 페이지
chrome://extensions
또는 매니페스트 JSON 파일에 표시됩니다.
- CRX 파일의 위치: 로컬 디렉터리 또는 네트워크 공유일 수 있습니다. 확장 프로그램을 설치하려는 머신에서 파일을 사용할 수 있는지 확인합니다.
개인 서버에서 설치
Linux 사용자를 위해 개인 서버에 호스팅된 확장 프로그램을 배포하는 경우 Linux에 확장 프로그램 설치에 관한 안내를 따르고 다음 정보를 확인하세요.
확장 프로그램 ID: 확장 프로그램 관리 페이지
chrome://extensions
에서 확인할 수 있습니다.update_url XML 파일 경로: 매니페스트 JSON 파일에 선언된
update_url
필드의 경로와 일치해야 합니다.
다음 예에서는 버전이 1.0이고 확장 프로그램 ID가 aaabbbcccdddeeefff라고 가정합니다.
환경설정 파일 사용
macOS
- 확장 프로그램 ID의 이름으로 JSON 파일을 만듭니다. 예:
aaabbbcccdddeeefff.json
파일을 다음 폴더 중 하나에 배치합니다.
- 특정 사용자
~USERNAME/Library/Application Support/Google/Chrome/External Extensions/
- 모든 사용자 대상
/Library/Application Support/Google/Chrome/External Extensions/
필드 이름이 'external_update_url'인 업데이트 URL을 지정합니다. 예:
json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
JSON 파일을 저장합니다.
Google Chrome을 실행하고 chrome://extensions로 이동합니다. 확장 프로그램이 표시됩니다.
Mac OS 사용 권한 문제 해결
macOS에서는 파일 시스템 권한으로 인해 권한이 없는 사용자가 파일을 변경할 수 없는 경우에만 모든 사용자의 외부 확장 프로그램 파일이 읽힙니다. Chrome을 실행할 때 설치된 외부 확장 프로그램이 표시되지 않으면 외부 확장 프로그램 환경설정 파일에 권한 문제가 있을 수 있습니다. 이 문제가 원인인지 확인하려면 다음 단계를 따르세요.
- 콘솔 프로그램을 실행합니다. /Applications/Utilities/Console 아래에서 찾을 수 있습니다.
- 콘솔의 가장 왼쪽 아이콘이 '로그 목록 표시'인 경우 해당 아이콘을 클릭합니다. 왼쪽에 두 번째 열이 표시됩니다.
- 왼쪽 창에서 '콘솔 메시지'를 클릭합니다.
- 외부 확장 프로그램을 읽을 수 없음 문자열을 검색합니다. 외부 확장 프로그램 파일을 읽는 데 문제가 있으면 오류 메시지가 표시됩니다. 그 바로 앞에 있는 다른 오류 메시지를 찾아 문제를 설명합니다. 예를 들어 '경로 /Library/Application Support/Google/Chrome의 소유자가 잘못된 그룹입니다'라는 오류가 표시되면
chgrp
또는 Finder의 정보 보기 대화상자를 사용하여 디렉터리의 그룹 소유자를 관리자 그룹으로 변경해야 합니다. - 문제를 해결한 후 Chrome을 다시 실행합니다. 이제 외부 확장 프로그램이 설치되었는지 테스트합니다. 하나의 권한 오류로 인해 Chrome에서 두 번째 오류를 감지하지 못할 수 있습니다. 외부 확장 프로그램이 설치되지 않은 경우 콘솔 애플리케이션에 오류가 표시되지 않을 때까지 이 단계를 반복합니다.
Linux
- 확장 프로그램 ID의 이름으로 JSON 파일을 만듭니다. 예:
aaabbbcccdddeeefff.json
다음 폴더 중 하나에 배치합니다.
/opt/google/chrome/extensions/
/usr/share/google-chrome/extensions/
다음 목록은 Chrome 웹 스토어, CRX 파일 또는 개인 서버에서의 확장 프로그램 설치에 대해 설명합니다.
- Chrome 웹 스토어 확장 프로그램을 설치하려면 'external_update_url' 필드 이름으로 업데이트 URL을 지정합니다. 예를 들면 다음과 같습니다.
json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
- CRX 파일에서 확장 프로그램을 설치하려면 'external_crx'에 위치를 지정하고 'external_version'에 버전을 지정합니다. 예를 들면 다음과 같습니다.
json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
- 개인 서버에 호스팅된 확장 프로그램을 설치하려면 다음 예와 같이 'external_update_url' 필드가 xml 파일을 가리켜야 합니다.
json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
- Chrome 웹 스토어 확장 프로그램을 설치하려면 'external_update_url' 필드 이름으로 업데이트 URL을 지정합니다. 예를 들면 다음과 같습니다.
JSON 파일을 저장합니다.
Google Chrome을 실행하고 chrome://extensions로 이동합니다. 확장 프로그램이 표시됩니다.
지원되는 언어
일부 브라우저 언어에만 확장 프로그램을 설치하려면 필드 이름 'supported_locales'에 지원되는 언어를 나열하면 됩니다. 언어는 'en'과 같은 상위 언어를 지정할 수 있습니다. 이 경우 'en-US', 'en-GB'와 같은 모든 영어 언어에 확장 프로그램이 설치됩니다. 확장 프로그램에서 지원하지 않는 다른 브라우저 언어가 선택된 경우 외부 확장 프로그램이 제거됩니다. 'supported_locales' 목록이 누락된 경우 모든 언어에 확장 프로그램이 설치됩니다. 예를 들면 다음과 같습니다.
{
"external_update_url": "https://clients2.google.com/service/update2/crx",
"supported_locales": [ "en", "fr", "de" ]
}
Windows 레지스트리 사용
레지스트리에서 다음 키를 찾거나 만듭니다.
- 32비트 Windows
HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
- 64비트 Windows
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
Extensions 키 아래에 확장 프로그램의 ID와 동일한 이름의 새 키 (폴더)를 만듭니다. 예를 들면
aaabbbcccdddeeefff
입니다.확장 프로그램 키에서 'update_url' 속성을 만들고 다음 값으로 설정합니다.
json { "update_url": "https://clients2.google.com/service/update2/crx" }
Chrome을 실행합니다.
chrome://extensions로 이동하면 확장 프로그램이 표시됩니다.
업데이트 및 제거
Chrome은 브라우저가 시작될 때마다 환경설정 및 레지스트리의 메타데이터 항목을 스캔하고 Chrome 웹 스토어에 호스팅된 설치된 외부 확장 프로그램을 필요에 따라 변경합니다.
로컬 CRX 파일 확장자를 새 버전으로 업데이트하려면 파일을 업데이트한 다음 환경설정 JSON 파일에서 버전을 업데이트합니다.
확장 프로그램을 제거하려면 (예: 소프트웨어가 제거된 경우) 레지스트리에서 환경설정 파일 (예: aaabbbcccdddeeefff.json
) 또는 메타데이터를 삭제합니다.
FAQ
이 섹션에서는 외부 확장 프로그램에 관한 일반적인 질문에 답변합니다.
Chrome에서 '사전 설치'를 계속 지원하나요?
예, 하지만 로컬 CRX 경로가 아닌 Chrome 웹 스토어 update_url
에서 설치한 경우에만 설치할 수 있습니다. 자세한 내용은 앱 및 확장 프로그램 정책을 참고하세요.
환경설정 파일로 설치할 때 자주 발생하는 실수에는 어떤 것이 있나요?
- CRX 파일에 나열된 ID 또는 버전과 동일한 ID 또는 버전을 지정하지 않았습니다.
- JSON 파일 (예:
aaabbbcccdddeeefff.json
)이 잘못된 위치에 있거나 지정된 ID가 확장 프로그램 ID와 일치하지 않습니다. - JSON 파일의 구문 오류 (항목을 쉼표로 구분하지 않거나 어딘가에 꼬리 쉼표를 남겨 둠)
- JSON 파일 진입점이 CRX 파일의 잘못된 경로를 가리키고 있습니다 (또는 경로가 지정되었지만 파일 이름은 없음).
- UNC 경로의 백슬래시는 이스케이프 처리되지 않습니다. 예를 들어
"\\server\share\file"
은 잘못되었습니다."\\\\server\\share\\extension"
이어야 합니다. - 네트워크 공유의 권한 문제
레지스트리로 설치할 때 흔히 발생하는 실수에는 어떤 것이 있나요?
- Chrome 웹 스토어에 표시된 ID와 동일한 ID를 지정하지 않음
- 레지스트리의 잘못된 위치에 생성된 키입니다.
- 레지스트리 항목이 Chrome 웹 스토어의 잘못된 CRX 파일 경로를 가리킵니다.
- 네트워크 공유의 권한 문제
- 일부 Chrome 인스턴스는 닫히지 않습니다. 레지스트리를 설정한 후 컴퓨터를 재부팅해 보세요.
사용자가 확장 프로그램을 제거하면 어떻게 되나요?
사용자가 UI를 통해 확장 프로그램을 제거하면 더 이상 시작할 때마다 확장 프로그램이 설치 또는 업데이트되지 않습니다. 즉, 외부 확장 프로그램이 차단됨입니다.
차단 목록에서 삭제하려면 어떻게 해야 하나요?
사용자가 확장 프로그램을 제거하는 경우 개발자는 이 결정을 존중해야 합니다. 하지만 개발자가 실수로 UI를 통해 확장 프로그램을 제거한 경우 UI를 통해 정상적으로 확장 프로그램을 설치한 다음 제거하면 차단 목록 태그를 삭제할 수 있습니다.