설치 애드온 만들기 - 기초 응용편 -
-- 그룹의 설치 애드온을 만들고자 할때
설치 애드온을 만들기 위해서는 항상 바이러스 체크를 함으로써 타 유저가 안전하게 사용할 수 있도록 해야합니다.
설치 애드온을 받았을때는 사용전에 바이러스 테스트를 한 후에 게임을 실행 하는것이 좋습니다.
목록 설명
각 사이트에 포함된 부분들에 대한 설명입니다.
목록
아래의 내용은 목록 설명에 대한 예제 이며, 실핼 파일 예제가 있어 애드온을 만들때 활용을 할 수 있습니다.
ico 파일과 bmp에 대한 부분은 개인에 맞게 조정 변경하면 됩니다.
test.nsi ; 스크립트가 있는 데이터
;(초급 사용자는 HM NIS Edit, Venis IX 로 Open 사용 권장)
wow.ico ; 설치 애드온이 만들어 지고 나서 생기는 설치 아이콘 (개인이 선택 가능, 권장 크기 48 X 48)
wow_welcome.bmp ; 설치 애드온의 설치 화면의 일부 화면 (권장 크기 : 200 X 300, 164 X 314)
License.txt ; 설치 애드온의 설치 화면에서 나오는 라이센스 항목 (본인에 맞게 설정 가능)
testPack 5.0.4_a ; 설치 애드온 예제
설치 화면
설치 화면에 대한 예제이며, 애드온을 만들었을때 진행을 설명하는 화면 입니다.
설치 애드온 만들기에 필요한 프로그램
설치 애드온 만들기에 필요한 프로그램이며 nsis는 파일의 실행과 HM NIS Edit는 프로그램의 에디트를 돕습니다.
직접 해당 관련 사이트에서 다운로드 하여 사용하는것도 좋습니다.
그룹 등록 섹션 설명
그룹을 등록 하고자 할 때 섹션을 설명 하는 부분입니다.
SectionGroup /e "공격대 도우미" Raid_SEC ; 그룹 시작
Section "BigWigs" Add03_SEC
SetOutPath "$INSTDIRInterfaceAddOnsBigWigs" ; 와우 기본 설치 경로
SectionIn RO ; 필수 선택으로 지정하고자 할 때 필요한 옵션
SetOverwrite on
; 파일 복사
File /a /r "E:WoWRaidPackAddOnsBigWigs" ; 개인이 가지고 있는 파일 경로
SectionEnd
Section /o "LittleWigs" Add04_SEC
SetOutPath "$INSTDIRInterfaceAddOnsLittleWigs"
; 파일 복사
File /a /r "E:WoWRaidPackAddOnsLittleWigs"
SectionEnd
SectionGroupEnd ; 그룹 끝
추가 항목
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${Basic_SEC} "나의 모든 애드온을 포함합니다."
!insertmacro MUI_DESCRIPTION_TEXT ${Raidc_SEC} " 공격대 도우미 "
!insertmacro MUI_DESCRIPTION_TEXT ${Add03_SEC} " 공격대 보스 경고 알림이 "
!insertmacro MUI_DESCRIPTION_TEXT ${Add04_SEC} " 5인 던전 보스 경고 알림이 "
!insertmacro MUI_DESCRIPTION_TEXT ${Add05_SEC} " 마우스로 힐을 편안하게 해주는 애드온 "
!insertmacro MUI_FUNCTION_DESCRIPTION_END
nsi 파일의 Comfile (컴파일)
nsi 파일에 대한 컴파일을 할 수 있는 설명 입니다.
Venis IX -> Tools -> Comfile HM NIS Edit -> NSIS(N) -> 스크립트 컴파일(C) -> Ctrl + 9
HM NIS Edit -> NSIS(N) -> 컴파일 및 실행(O) -> Shift + 9
해당파일.nsi -> 마우스 오른쪽 버튼 클릭 -> Compile NSIS Script -> 클릭
애드온 폴더
개인이 가지고 있는 애드온 폴더를 복사 하는 설명입니다.
UI/UI <--는 전체 파일을 넣을때 사용하는 폴더 예제입니다.
UI/Pack <--은 개별 파일을 넣을때 사용하는 폴더 예제입니다.
## 파일 복사 ; 전체 파일에 대한 복사를 설명하는 설명입니다.
File /a /r "D:/UI/UI/" ; 파일 복사 경로
## 드라이브 실제 복사 경로
D:UI/UI/Interface/Addons/ ; AddOns 폴더에 전체 애드온 파일 넣기
## 파일 복사 ; 개별 파일에 대한 복사를 설정하는 설명입니다.
File /a /r "D:/UI/Pack/DBM/" ; 파일 복사 경로
## 드라이브 실제 복사 경로
D:UI/Pack/DBM/Interface/Addons/ ; AddOns 폴더에 DBM 애드온 파일 넣기
스크립트
nsi로 만들어진 데이터에 대한 부분을 나열한 부분이며 어떻게 만들어지는지 보여지는 설명입니다.
2번째 줄 !define PRODUCT_NAME "MONK" UI의 이름인 녹색 부분을 개인에 맞게 변경 하면 됩니다.
3번째 줄 !define PRODUCT_VERSION "5.0.4_a" ; 배포하는 버전을 개인에 맞게 변경하면 됩니다.
4번째 줄 !define PRODUCT_PUBLISHER "테스터" ; 배포하는 사람의 이름을 개인에 맞게 변경하면 됩니다.
스크립트 예제
스크립트에 대한 설명입니다.
# script by MONK
## 배포할 프로그램의 정보
!define PRODUCT_NAME "MONK"
!define PRODUCT_VERSION "5.0.4_a" ;프로그램의 버전
!define PRODUCT_PUBLISHER "MONK" ;프로그램을 배포하는 사람
!define PRODUCT_DIR_ROOT_REGKEY "HKLM" ;프로그램의 설치 정보를 넣을 레지스트리의 최상위 경로
!define PRODUCT_DIR_REGKEY "Software${PRODUCT_NAME}" ;프로그램의 설치 정보를 넣을 레지스트리의 하위 경로
## 설치 프로그램의 아이콘과 배경 삽입
!define MUI_ICON "wow.ico" ;설치 프로그램의 아이콘
!define MUI_WELCOMEFINISHPAGE_BITMAP "wow_welcome.bmp" ;환영 페이지의 배경
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH ;환영 페이지의 배경을 늘리지 않음
## 설치 프로그램의 정보 설정
OutFile "${PRODUCT_NAME} ${PRODUCT_VERSION}.exe" ;설치 프로그램의 이름
InstallDirRegKey HKLM "SOFTWAREBlizzard EntertainmentWorld of Warcraft" "InstallPath" ;프로그램을 설치할 경로를 와우의 레지스트리에서 가져오기
InstallDir $INSTDIR ;프로그램을 설치할 경로 설정
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" ;설치 프로그램의 상위에 주로 나올 제목
BrandingText /TRIMRIGHT "${PRODUCT_NAME}" ;설치 프로그램의 하부에 가로줄과 함께 나올 텍스트
# MUI 1.67 compatible : 매크로 삽입 ------------------------------------------------------------
!include "MUI.nsh"
!include "WordFunc.nsh"
!include "FileFunc.nsh"
# 페이지 삽입 ------------------------------------------------------------
;!define MUI_ABORTWARNING ;설치/제거 도중 취소하면 경고
!insertmacro MUI_PAGE_WELCOME ;환영 페이지
!insertmacro MUI_PAGE_LICENSE "License.txt" ;라이센스 페이지
!insertmacro MUI_PAGE_COMPONENTS ;설치 항목 선택 페이지
!insertmacro MUI_PAGE_DIRECTORY ;설치할 경로 선택 페이지
!insertmacro MUI_PAGE_INSTFILES ;설치 페이지
;!define MUI_FINISHPAGE_NOAUTOCLOSE ;인스톨후 마지막페이지로 바로 넘어가지 않음
!define MUI_FINISHPAGE_RUN "$INSTDIRWorld of Warcraft Launcher.exe" ;마지막페이지에서 실행할 프로그램
!define MUI_FINISHPAGE_RUN_TEXT "월드오브워크래프트 실행하기" ;마지막페이지에서 실행할 프로그램의 설명
!insertmacro MUI_PAGE_FINISH ;마지막 페이지
# 언어 파일 설정 ------------------------------------------------------------
; 본 항목은 반드시 페이지 삽입 보다 뒤에 와야 합니다.
;!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Korean"
SectionGroup /e "공격대 도우미" Raid_SEC
Section "DBM-Pandaria" Add01_SEC
SetOutPath "$INSTDIR"
SectionIn RO
SetOverwrite on
; 파일 복사
File /a /r "D:TestPackDBM"
SectionEnd
Section /o "InvenRaidFrames3" Add02_SEC
SetOutPath "$INSTDIR"
; 파일 복사
File /a /r "D:TestPackInvenRaidFrames3"
SectionEnd
Section /o "Grid" Add03_SEC ; 참고를 위해서 하위 폴더 내용까지 포함 ( 로 설정 가능)
SetOutPath "$INSTDIR"
; 파일 복사
File /a /r "D:TestPackGrid"
SectionEnd
SectionGroupEnd
SectionGroup /e "미터기" MI_SEC
Section /o "Omen" MI01_SEC
SetOutPath "$INSTDIR"
; 파일 복사
File /a /r "D:TestPackOmen"
SectionEnd
Section /o "Recount" MI02_SEC
SetOutPath "$INSTDIR"
; 파일 복사
File /a /r "D:TestPackRecount"
SectionEnd
SectionGroupEnd
SectionGroup /e "개인 추가 항목" Individual_SEC
Section /o "GTFO" ID01_SEC
SetOutPath "$INSTDIR"
; 파일 복사
File /a /r "D:TestPackGTFO"
SectionEnd
SectionGroupEnd
; Section descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${Raid_SEC} "공격대 도우미"
!insertmacro MUI_DESCRIPTION_TEXT ${Add01_SEC} "DBM 공격대 보스 경고 (필수)선택 지정 "
!insertmacro MUI_DESCRIPTION_TEXT ${Add02_SEC} "인벤 레이드 유닛 프레임 "
!insertmacro MUI_DESCRIPTION_TEXT ${Add03_SEC} "Grid 레이드 유닛 프레임 "
!insertmacro MUI_DESCRIPTION_TEXT ${MI_SEC} "어그로 및 데미지 미터기 "
!insertmacro MUI_DESCRIPTION_TEXT ${MI01_SEC} "어그로 미터기 "
!insertmacro MUI_DESCRIPTION_TEXT ${MI02_SEC} "데미지 미터기 "
!insertmacro MUI_DESCRIPTION_TEXT ${Individual_SEC} "개인 추가항목 선택 "
!insertmacro MUI_DESCRIPTION_TEXT ${ID01_SEC} "바닥 경고"
!insertmacro MUI_FUNCTION_DESCRIPTION_END