모든 Chrome 확장 프로그램은 Chrome 웹 스토어에서 직접 또는 아래 설명 된 메커니즘을 사용하여 배포해야 합니다. 이러한 배포 방법 중 하나를 준수하지 않으면 Chrome 확장 프로그램 정책을 위반하는 것으로 간주되며 이를 배포하는 확장 프로그램 및 / 또는 소프트웨어가 원치 않는 소프트웨어로 표시 될 수 있습니다.
일반적으로 사용자는 Chrome 웹 스토어에서 확장 프로그램을 설치하지만 때로는 다른 방법을 통해 확장 프로그램을 설치해야 할 수도 있습니다. 다음은 두 가지 일반적인 경우입니다.
- 확장은 다른 소프트웨어와 연결되며 사용자가 다른 소프트웨어를 설치할 때마다 확장을 설치해야 합니다.
- 네트워크 관리자가 조직 전체에 동일한 확장을 설치하려고 합니다.
Chrome 웹 스토어에서 설치되지 않은 확장 프로그램을 외부 확장 프로그램이라고합니다. 다른 소프트웨어 설치 프로세스의 일부로 확장 프로그램을 배포하려는 개발자 또는 조직 전체에 확장 프로그램을 배포하려는 네트워크 관리자를 위해 Chrome은 다음 확장 프로그램 설치 방법을 지원합니다.
- 환경 설정 JSON 파일 사용 (Mac OS X 및 Linux 전용)
- Windows 레지스트리 사용 (Windows 전용)
두 가지 방법 모두 update_URL에서 호스팅 되는 확장 프로그램 설치를 지원합니다. Windows 및 Mac에서 update_URL은 확장 프로그램을 호스팅 해야 하는 Chrome 웹 스토어를 가리켜 야합니다.
Linux의 기본 설정 파일은 확장을 호스팅 하는 자체 서버를 가리킬 수 있습니다. 환경 설정 JSON 파일은 사용자의 Linux 컴퓨터에 있는 .crx 확장 파일의 확장 설치도 지원합니다.
시작하기 전에
먼저 Chrome 웹 스토어에 확장 프로그램을 게시하거나 .crx 파일을 패키징 하고 성공적으로 설치되었는지 확인합니다.
Windows 및 Mac 설치는 Chrome 웹 스토어에서 가져와야 합니다. Chrome 33부터는 Windows의 로컬 .crx 경로에서 외부 설치가 허용되지 않습니다 (악성 확장으로부터 Windows 사용자 보호 참조). Chrome 44부터는 Mac의 로컬 .crx 경로에서 외부 설치가 허용되지 않습니다 (악성 확장 프로그램으로부터 Chrome 사용자를 계속 보호하기 참조).
업데이트 URL에서 설치하는 경우 확장이 제대로 호스팅 되었는지 확인하십시오.
기본 설정 파일 또는 레지스트리를 편집하기 전에 다음 사항을 기록해 두십시오.
- 확장 프로그램 .crx 파일의 의도 된 위치 또는 제공되는 업데이트 URL
- 확장 프로그램의 버전 (매니페스트 파일 또는 chrome : // extensions 페이지)
- 확장 프로그램의 ID (패키지 된 확장 프로그램을로드했을 때 chrome : // extensions 페이지에서)
다음 예에서는 버전이 1.0이고 ID가 aaaaaaaaaabbbbbbbbbbcccccccccc라고 가정합니다.
기본 설정 파일 사용
Mac OS X 및 Linux 전용 : Windows 용 기본 설정 파일을 사용하지 마십시오. 대신 Windows 레지스트리를 사용하십시오.
- Linux의 파일에서 설치하는 경우 확장을 설치하려는 시스템에서 .crx 확장 파일을 사용할 수 있도록 하십시오. (로컬 디렉토리 또는 네트워크 공유 (예 : \\ server \ share \ extension.crx 또는 /home/share/extension.crx)에 복사하십시오.)
- 아래 나열된 폴더 중 하나에 다음 이름의 파일을 만듭니다. aaaaaaaaaabbbbbbbbbbcccccccccc.json 여기서 파일 이름 (확장자 없음)은 확장의 ID에 해당합니다. 위치는 운영 체제에 따라 다릅니다.
Mac OS X:
특정 사용자의 경우 : ~ USERNAME / Library / Application Support / Google / Chrome / External Extensions /
모든 사용자 : / Library / Application Support / Google / Chrome / External Extensions /
모든 사용자에 대한 외부 확장 파일은 경로의 모든 디렉토리가 사용자 루트가 소유하고 그룹 admin 또는 wheel이 있고 누구나 쓸 수 없는 경우에만 읽힙니다. 경로에는 기호 링크도 없어야 합니다. 이러한 제한은 권한이 없는 사용자가 모든 사용자에 대해 확장 프로그램을 설치하지 못하도록 합니다. 자세한 내용은 문제 해결을 참조하십시오.
참고 : 모든 사용자에 대한 위의 경로는 Chrome 16에 추가되었습니다. 이전 버전은 다른 경로를 사용했습니다. / Applications / Google Chrome.app/Contents/Extensions/이 경로는 버전 17에서 더 이상 사용되지 않습니다. 버전 20에서는 지원이 제거되었습니다. 대신 위 경로 중 하나를 사용하세요.
Linux:
/opt/google/chrome/extensions/
/usr/share/google-chrome/extensions/
참고 : 필요한 경우 chmod를 사용하여 aaaaaaaaaabbbbbbbbbbcccccccc.json 파일이 세계에서 읽을 수 있는지 확인하십시오.
- Linux 전용 : 파일에서 설치하는 경우 위에서 만든 파일에 "external_crx"및 "external_version"이라는 필드를 사용하여 확장 위치와 버전을 지정합니다.
-, Example:
{
"external_crx": "/home/share/extension.crx",
"external_version": "1.0"
}
참고 : 위치에서 각 \ 문자를 이스케이프해야 합니다. 예를 들어, \\ server \ share \ extension.crx는 "\\\\ server \\ share \\ extension.crx"입니다.
- 업데이트 URL에서 설치하는 경우 필드 이름이 "external_update_url"인 확장의 업데이트 URL을 지정하십시오.
- 로컬 .crx 파일에서의 설치 예 (Linux 만 해당)
{
"external_update_url": "http://myhost.com/mytestextension/updates.xml"
}
- Chrome 웹 스토어에서 설치 한 예 (Mac 및 Linux)
{
"external_update_url": "https://clients2.google.com/service/update2/crx"
}
- 일부 브라우저 로케일에 대해서만 확장을 설치하려는 경우 "supported_locale"필드 이름에 지원되는 로케일을 나열 할 수 있습니다. 로케일은 "en"과 같은 상위 로케일을 지정할 수 있습니다.이 경우 확장은 "en-US", "en-GB"등과 같은 모든 영어 로케일에 대해 설치됩니다. 확장에서 지원하지 않는 다른 브라우저 로케일을 선택한 경우 , 외부 확장이 제거됩니다. "supported_locales"목록이 없으면 모든 로케일에 대해 확장이 설치됩니다.
-, Example
{
"external_update_url": "https://clients2.google.com/service/update2/crx",
"supported_locales": [ "en", "fr", "de" ]
}
- JSON 파일을 저장하십시오.
- Google 크롬을 실행하고 chrome : // extensions로 이동합니다. 나열된 확장이 표시되어야 합니다.
참고 : 이전 버전의 Google 크롬에서는 설치할 확장 프로그램을 지정하기 위해 external_extensions.json 파일을 사용했습니다. 이 파일은 확장자 당 하나씩 개별 .json 파일 대신 사용되지 않습니다.
Mac OS 권한 문제 해결
Mac OS에서 모든 사용자의 외부 확장 파일은 파일 시스템 권한이 권한이 없는 사용자가 파일을 변경할 수 없는 경우에만 읽힙니다. Chrome을 시작할 때 설치된 외부 확장 프로그램이 표시되지 않으면 외부 확장 프로그램 환경 설정 파일에 권한 문제가 있을 수 있습니다. 이것이 문제인지 확인하려면 다음 단계를 따르십시오.
- 콘솔 프로그램을 시작하십시오. / Applications / Utilities / Console에서 찾을 수 있습니다.
- 콘솔의 가장 왼쪽 아이콘에 "로그 목록 표시"가 표시되면 해당 아이콘을 클릭합니다. 두 번째 열이 왼쪽에 나타납니다.
- 왼쪽 창에서 "콘솔 메시지"를 클릭합니다.
- 문자열 검색 외부 확장을 읽을 수 없습니다. 외부 확장 파일을 읽는 데 문제가 있는 경우 오류 메시지가 표시됩니다. 바로 위에 문제를 설명하는 다른 오류 메시지를 찾습니다. 예를 들어 "경로 / Library / Application Support / Google / Chrome이 잘못된 그룹에서 소유되었습니다."라는 오류가 표시되면 chgrp 또는 Finder의 정보 가져 오기 대화 상자를 사용하여 디렉토리의 그룹 소유자를 관리자 그룹으로 변경해야 합니다.
- 문제를 해결 한 후 Chrome을 다시 시작하십시오. 이제 외부 확장이 설치되었는지 테스트하십시오. 하나의 권한 오류로 인해 Chrome이 두 번째 오류를 감지하지 못할 수 있습니다. 외부 확장이 설치되지 않은 경우 콘솔 애플리케이션에 오류가 표시되지 않을 때까지 이 단계를 반복하십시오.
Windows 레지스트리 사용
- 레지스트리에서 다음 키를 찾거나 만듭니다.
-, 32-bit Windows: HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
-, 64-bit Windows: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions - 확장 프로그램의 ID와 동일한 이름 (예 : aaaaaaaaaabbbbbbbbbbcccccccccc)으로 확장 키 아래에 새 키 (폴더)를 만듭니다.
- 확장 키에서 'update_url'속성을 만들고 'https://clients2.google.com/service/update2/crx'값으로 설정합니다 (Chrome 웹 스토어에서 확장 프로그램의 crx를 가리킴). :
{
"update_url": "https://clients2.google.com/service/update2/crx"
}
- 브라우저를 시작하고 chrome : // extensions로 이동합니다. 나열된 확장이 표시되어야 합니다.
업데이트 및 제거
Google 크롬은 브라우저가 시작될 때마다 환경 설정 및 레지스트리의 메타 데이터 항목을 스캔하고 설치된 외부 확장 프로그램을 필요에 따라 변경합니다.
확장을 새 버전으로 업데이트하려면 파일을 업데이트 한 다음 기본 설정 또는 레지스트리에서 버전을 업데이트하십시오.
확장 프로그램을 제거하려면 (예 : 소프트웨어가 제거 된 경우) 기본 설정 파일 (aaaaaaaaaabbbbbbbbbbcccccccccc.json) 또는 레지스트리에서 메타 데이터를 제거합니다.
FAQ
이 섹션에서는 외부 확장에 대한 일반적인 질문에 대답합니다.
"사전 설치"를 허용하는 방법은 M33부터 Chrome에서 계속 지원됩니까?
예,하지만 로컬 파일 경로가 아닌 Chrome 웹 스토어 update_URL에서 설치하는 경우에만 가능합니다.
URL을 외부 확장에 대한 경로로 지정할 수 있습니까?
예, Mac OS X 및 Linux 용 기본 설정 JSON 파일을 사용하십시오. Windows 용 레지스트리. 확장은 호스팅에 설명 된대로 호스팅 되어야 합니다. 기본 설정 파일에서 "external_update_url"속성을 사용하여 확장에 대한 URL이 있는 업데이트 매니페스트를 가리킵니다. Windows 레지스트리에서 "update_url"속성을 사용합니다.
기본 설정 파일로 설치할 때 자주 발생하는 실수는 무엇입니까?
- .crx에 나열된 것과 동일한 ID / 버전을 지정하지 않음
- .json 파일 (aaaaaaaaaabbbbbbbbcccccccccc.json)이 잘못된 위치에 있거나 지정된 ID가 확장 ID와 일치하지 않습니다.
- JSON 파일의 구문 오류 (쉼표로 항목을 구분하지 않거나 어딘가에 후행 쉼표를 남김)
- JSON 파일 항목이 .crx에 대한 잘못된 경로를 가리킵니다 (또는 경로가 지정되었지만 파일 이름이 없음).
- 이스케이프되지 않은 UNC 경로의 백 슬래시 (예 : "\\ server \ share \ file"는 잘못되었습니다. "\\\\ server \\ share \\ extension"이어야 함)
- 네트워크 공유에 대한 권한 문제
레지스트리로 설치할 때 자주 발생하는 실수는 무엇입니까?
- Chrome 웹 스토어에 나열된 것과 동일한 ID / 버전을 지정하지 않음
- 레지스트리의 잘못된 위치에 생성 된 키
- 레지스트리 항목이 Chrome 웹 스토어의 .crx 파일에 대한 잘못된 경로를 가리킵니다.
- 네트워크 공유에 대한 권한 문제
기본 바이너리 및 확장을 단계별로 업데이트하려면 어떻게 합니까?
이전에는 매장 외부 확장이 지원되었을 때 기본 바이너리와 확장을 잠금 단계에서 업데이트 할 수 있었습니다. 그러나 Chrome 웹 스토어에서 호스팅 되는 확장 프로그램은 개발자가 제어하지 않는 Chrome 업데이트 메커니즘을 통해 업데이트 됩니다. 확장 개발자는 네이티브 바이너리에 종속 된 확장 (예 : NPAPI를 사용하는 레거시 확장)을 업데이트 할 때 주의해야 합니다.
사용자가 확장 프로그램을 제거하면 어떻게 되나요?
사용자가 UI를 통해 확장을 제거하면 시작할 때마다 더 이상 설치되거나 업데이트 되지 않습니다. 즉, 외부 확장이 차단됩니다.
차단 목록을 어떻게 해제합니까?
사용자가 확장 프로그램을 제거하는 경우 해당 결정을 존중해야 합니다. 단, 개발자 (개발자)가 실수로 UI를 통해 확장 프로그램을 제거한 경우 UI를 통해 정상적으로 확장 프로그램을 설치 한 다음 제거하여 차단 목록 태그를 제거 할 수 있습니다.
https://developer.chrome.com/extensions/external_extensions