Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Extension Packaging

확장기능은 설치 가능한 번들의 한 형태입니다. 확장기능은 사용자가 직접 내려받아 설치할 수 있으며 응용프로그램에 미리 포함되어 있거나 외부 프로그램에 의해서 제공되기도 합니다. 확장기능은 chrome, components 등의 디렉토리 구조로 되어 있는데 개별 구조는 XUL 프로그램으로 확장됩니다.

모든 확장기능은 자신의 메타정보를 담은 install.rdf 파일을 제공해야 하는데 파일은 유일한 ID, 버전, 저자, 호환성 정보를 담고 있습니다.

확장기능 파일과 install.rdf가 준비된 다음 확장 기능의 설치를 위한 몇가지 준비 단계가 있습니다. 사용자 설치가능한 확장기능 디렉토리의 ZIP 포맷인 XPI(xpinstall) 파일, 사용자 응용프로그램이나 프로필 디렉토리에 확장기능을 직접 압축 풀기, 윈도우즈 레즈스트리에 확장기능을 등록의 단계입니다.

확장기능 XPI 만들기

XPI(XPInstall) 파일은 단순히 install.rdf 파일이 ZIP 파일의 최상단에 위치하는 확장기능 파일을 담은 ZIP 파일입니다. 사용자는 XPI 파일을 웹사이트나 로컬 파일에서 파일을 열거나 확장기능 관리창에 끌어 옮김으로서 내려 받거나 설치할 수 있습니다.

파이어폭스 XPI 파일에 대한 MIME 형은 application/x-xpinstall로 인식이 됩니다. 대부분의 HTTP 서버가 .xpi 확장기능에 대한 MIME 타입을 반환하는 설정을 기본으로 하지 않기 때문에 어쩌면 HTTP 서버를 재설정해야 할 수도 있습니다. 아파치 HTTP 서버에서는 아래의 문장을 설정 파일이나 .htaccess 파일에 삽입해야 합니다.

AddType application/x-xpinstall .xpi

확장기능 파일 직접 설치하기

만약 응용 프로그램의 위치를 알고 있다면 (예를 들어 응용 프로그램의 설치과정에 확장기능을 설치하게 할려면) 직접 <appdir>/extensions/<extensionID>에 확장 기능 파일을 직접 설치할 수 있습니다. 확장기능은 다음번 응용 프로그램이 실행될 때 확장기능 관리자에 의해 자동으로 인식됩니다.

이 방법을 사용할 때 디렉토리와 확장기능 파일에 대한 파일 시스템의 권한이 적절하게 설정되어 있는지 확인해야 합니다. 확장기능 관리자는 확장기능의 권한이 적합한지 아닌지 판단하는 기능이 없습니다.

확장기능 위치를 윈도우 레지스트리에 등록하기

(자바 런타임 따위의) 외부 설치자가 응용프로그램은 아직 설치되지 않은 상황에 통합적인 위치에 확장기능을 설치하고자 할 수 있습니다. 윈도우즈 레지스트리 사용을 통해 처리할 수 있습니다.

여러 항목을 포함한 확장기능 XPI

하나의 XPI 파일로 여러개의 확장과 테마를 설치하길 원할 때도 있습니다. 특별한 종류의 여러 항목을 포함한 XPI 포장라고 불리우는 특별한 형태의 XPI는 이런 패키지를 만들 수 있습니다. (Firefox 1.5/XULRunner 1.8 이상이 필요합니다.)

Official References for Toolkit API

  • 설치 가능한 번들: 설치 가능한 번들(확장 기능, 테마, XULRunner 어플리케이션 등)에 대하여 기술하고 있습니다.
  • 확장기능 포장: 확장 기능을 포장하는 방법에 대한 정보를 제공합니다.
  • 테마 포장: 테마 기능을 포장하는 방법에 대한 정보를 제공합니다.
  • 여러 항목을 포함한 XPI 포장: 여러 항목들이 포함되는 XPI 를 포장하는 방법에 대한 정보를 제공합니다.
  • XUL 응용프로그램 포장: XULRunner 응용프로그램을 포장하는 방법에 대한 정보를 제공합니다.
  • Chrome 등록: Chrome의 등록하는 방법에 대한 정보를 제공합니다.

문서 태그 및 공헌자

 이 페이지의 공헌자: Jeremie, Verruckt, CN, 애들아빠
 최종 변경: Jeremie,