1. DLL Comple
①. Resource 탭 > Version > MIMEType에 Version 표기
application/mozilla-npruntime-scriptable-plugin,version=1.0.0.1
②. npp_gate.cpp에 존재하는 NPP_GetMIMEDescription 함수의 리턴 값도 MIME-Type과 같이 맞춰준다.
char*
NPP_GetMiMEDescription(void)
{
return "application/mozilla-npruntime-scriptable-plugin,version=1.0.0.1";
}
③. Release로 Complie > DLL 생성
2. ISTool & InnoSetup 이용한 install
①. 일단 InnoSetup을 설치하고 ISTool을 설치
(ISTool : Inno setup을 좀더 편하게 이용할 수 있는 GUI를 지원하는 서드파티 툴)
- [1]의 첨부파일(04_Versioning.zip)의 iss 폴더 > NPRT_Setup.iss 참고
- ISTool 사용법 : http://www.cyworld.com/SJoonho/3468436 참고
위 2개를 먼저 참고 할것,
②. 좌측 메뉴를 보면,
+ Script : 스크립트 코드 (다른 메뉴에서 수정하면 스크립트가 자동으로 수정됨)
+ Files and Dirs : 우클릭 메뉴의 'New Item' 클릭하여 File>Source에 1에서 컴파일한 'dll' 파일 추가
+ Icons : unistallexe 추가
+ Registry : Plug-in (dll)의 경로, 버전 등의 정보 설정 (아래 설명 참조)
+ 더 이상의 메뉴는 건들지 않아도 됨
*** 어떻게 Plug-in을 배포할 것인가?
Plug-in (dll)을 모든 브라우저의 plugins 폴더에 복사할 것인가?
- 특정 폴더에 Plug-in 파일(dll)을 복사하고, 윈도우의 레지스트리 중 Mozilla Plugins을 통합적으로 관리하는 부분에 Plug-in 관련 정보를 추가해서, Mozilla Plug-in을 지원하는 모든 브라우저가 실행될 때, 복사해놓은 Plug-in 파일을 참조하도록 하면 된다.
그럼 이 방법에서 제일 중요한 레지스트리의 위치가 어디냐…바로 아래와 같다.
HKEY_LOCAL_MACHINE\Software\MozillaPlugins
그런데,
윈도우 2000, XP 그 이상의 윈도우는 관리자 권한이 있어야만 HKEY_LOCAL_MACHINE 키에 쓸 수 있다.
HKEY_CURRENT_USER 키는 관리자 권한을 요구하기 않기 때문에 이 키에 쓰도록 한다.
어짜피, HKEY_CURRENT_USER 는 HKEY_LOCAL_MACHINE의 복사본이니까,
③. Complie & Run
- 컴파일(F9) 및 실행(F5)을 하면, 설정된 경로에 설치가 되고 레지스트리에 정보가 등록된다 (위그림)
FireFox, Opera, Safari에서 성공적으로 설치된 플러그인을 확인!!!
3. VC2008에서의 배포
vc2005부터 재배포 패키지(vcrest_x86.exe,..)가 필요하다. 그래서 아래와 같은 설정을 해준다.
먼저, ms에서 재배포 패키지를 다운 받는다. (vcredist_x86_sp1.exe)
[Files]
Source: D:\Xena\배포\vcredist_x86_sp1.exe; DestDir: {tmp}
[Run]
Filename: {tmp}\vcredist_x86_sp1.exe; Parameters: /q; StatusMsg: Installing 어쩌고 저쩌고 ...
<참조>
[1]. 전체적인 개요,
http://breakstone.blog.qrobo.com/2009/11/26/npruntime-4-versioning/
[2]. 모질라 공식 사이트,
https://developer.mozilla.org/en/Installing_plugins_to_Gecko_embedding_browsers_on_Windows
[3]. Mozilla 기반 웹 브라우저용 플러그인에 대한 자세한 정보는 PluginDoc을 방문해서 확인,