메뉴 건너뛰기

오에스매니아

조회 수 235 추천 수 0 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

http://nsis.sourceforge.net/Main_Page


NSIS는 멀티라이센스 예제올려봅니다.


!include "MUI2.nsh"
!include "Sections.nsh"


Name "Multiple Licences" ;제목
OutFile "TwoLicenses-MUI2.exe"  ;실행파일이름
InstallDir "$PROGRAMFILES\TwoLicenses" ;설치폴더지정
RequestExecutionLevel user ;권한

!insertmacro MUI_PAGE_WELCOME ;시작화면
!insertmacro MUI_PAGE_LICENSE           "License_One.txt" ;다중라이센스 1번파일
!insertmacro MUI_PAGE_LICENSE           "License_Two.txt" ;다중라이센스 2번파일

;!define MUI_PAGE_CUSTOMFUNCTION_PRE ComponentsPage1Pre
!define MUI_PAGE_CUSTOMFUNCTION_PRE COMPONENTS_Pre
!define MUI_PAGE_CUSTOMFUNCTION_SHOW COMPONENTS_Pre
!insertmacro MUI_PAGE_COMPONENTS 
!define MUI_PAGE_CUSTOMFUNCTION_PRE DIRECTORY_Pre
!define MUI_PAGE_CUSTOMFUNCTION_SHOW DIRECTORY_Pre
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_FINISH


Function COMPONENTS_Pre
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1006
  SendMessage $0 ${WM_SETTEXT} 0 'STR:설치하려는 구성요소 선택:'
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1021
  SendMessage $0 ${WM_SETTEXT} 0 'STR:이용약관'
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1022
  SendMessage $0 ${WM_SETTEXT} 0 'STR:프로그램을 원치 않으시면 해제하세요.'

  GetDlgItem $R0 $HWNDPARENT 1037
  SendMessage $R0 ${WM_SETTEXT} 0 "STR:구성 요소 선택"
  CreateFont $R1 "$(^Font)" "11" "600"

  GetDlgItem $R0 $HWNDPARENT 1038
  SendMessage $R0 ${WM_SETTEXT} 0 "STR:설치하고자 하는 구성 요소를 선택해 주세요.."
  CreateFont $R1 "$(^Font)" "$(^FontSize)" "500"
FunctionEnd


!insertmacro MUI_LANGUAGE "Korean" ; ID = 1042
!insertmacro MUI_LANGUAGE "English" ; ID = 1033
LicenseLangString license ${LANG_ENGLISH} "License_One.txt"
LicenseLangString license ${LANG_Korean} "License_Two.txt"


Section "Dummy1" SEC1
  ; do nothing
SectionEnd

Section "Dummy2" SEC2
  ; do nothing
SectionEnd


Function DIRECTORY_Pre
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1006
  SendMessage $0 ${WM_SETTEXT} 0 'STR:프로그램을 다음 폴더에 설치할 예정입니다. 계속 하시려면 "다음"을 눌러주십시오.'
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1033
  SendMessage $0 ${WM_SETTEXT} 0 'STR:라이센스'
 

${If} ${SectionIsSelected} ${SEC1}  ;1번라인 아래 (멀티라이센스)
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1034
  SendMessage $0 ${WM_SETTEXT} 0 'STR:Dummy1'
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1030
  SendMessage $0 ${WM_SETTEXT} 0 'STR:$PROGRAMFILES\Dummy1'
Goto LINE1_SEC1_SET
${Else}
Goto LINE1_SEC1_END
${EndIf}


LINE1_SEC1_END:  ; 2번라인 아래  (멀티라이센스)
${If} ${SectionIsSelected} ${SEC2}
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1034
  SendMessage $0 ${WM_SETTEXT} 0 'STR:Dummy2'
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1030
  SendMessage $0 ${WM_SETTEXT} 0 'STR:$PROGRAMFILES\Dummy2'
Goto LINE2_SEC2_SET
${Else}
${EndIf}


LINE1_SEC1_SET:
${If} ${SectionIsSelected} ${SEC2}
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1035
  SendMessage $0 ${WM_SETTEXT} 0 'STR:Dummy2'
  FindWindow $0 "#32770" "" $HWNDPARENT
  GetDlgItem $0 $0 1031
  SendMessage $0 ${WM_SETTEXT} 0 'STR:$PROGRAMFILES\Dummy2'
${Else}

${EndIf}
LINE2_SEC2_SET:
FunctionEnd


!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
  !insertmacro MUI_DESCRIPTION_TEXT ${SEC1} "멀티txt-1 테스트합니다."
   ClearErrors
   InitPluginsDir
   File /oname=$PLUGINSDIR\License_Two.txt "License_Two.txt"
   FileOpen $0 "$PLUGINSDIR\License_Two.txt" r
   IfErrors exit
   System::Call 'kernel32::GetFileSize(i r0, i 0) i .r1'
   IntOp $1 $1 + 1 ; for terminating zero
   System::Alloc $1
   Pop $2
   System::Call 'kernel32::ReadFile(i r0, i r2, i r1, *i .r3, i 0)'
   FileClose $0
   FindWindow $0 "#32770" "" $HWNDPARENT
   GetDlgItem $0 $0 1000
   SendMessage $0 ${EM_SETLIMITTEXT} $1 0
   SendMessage $0 ${WM_SETTEXT} 0 $2
   System::Free $2
   exit:


  !insertmacro MUI_DESCRIPTION_TEXT ${SEC2} "멀티txt-2 테스트합니다."
   ClearErrors
   InitPluginsDir
   File /oname=$PLUGINSDIR\License_One.txt "License_One.txt"
   FileOpen $0 "$PLUGINSDIR\License_One.txt" r
   IfErrors exit2
   System::Call 'kernel32::GetFileSize(i r0, i 0) i .r1'
   IntOp $1 $1 + 1 ; for terminating zero
   System::Alloc $1
   Pop $2
   System::Call 'kernel32::ReadFile(i r0, i r2, i r1, *i .r3, i 0)'
   FileClose $0
   FindWindow $0 "#32770" "" $HWNDPARENT
   GetDlgItem $0 $0 1000
   SendMessage $0 ${EM_SETLIMITTEXT} $1 0
   SendMessage $0 ${WM_SETTEXT} 0 $2
   System::Free $2
   exit2:

!insertmacro MUI_FUNCTION_DESCRIPTION_END

밀리터리 게시물


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 강좌 제작 게시판 신설 9 Op 2016.11.05 285
23 포맷 HEVC / H.265 Decoder 코덱 설치 file VenusGirl 2018.01.19 35
22 포맷 VirtualBox에서 macOS 설치하기 4부 1 file VenusGirl 2018.01.18 278
21 포맷 VirtualBox에서 macOS 설치하기 3부 1 file VenusGirl 2018.01.18 285
20 포맷 VirtualBox에서 macOS 설치하기 2부 1 file VenusGirl 2018.01.17 180
19 포맷 VirtualBox에서 macOS 설치하기 1부 4 file VenusGirl 2018.01.17 79
18 한글화 제작 VirtualBox에서 USB 부팅으로 OS 설치하기 35 file VenusGirl 2017.11.19 603
17 포맷 GetDataBack를 이용한 디스크 데이터 복구 20 file VenusGirl 2017.11.03 304
» 통합 제작 NSIS 설치팁 다중라이센스, 멀티라이센스 만들기 6 좋은걸 2017.10.09 235
15 한글화 제작 그림으로 보는 Resource Hacker 간단 설명서 32 file VenusGirl 2017.09.05 612
14 한글화 제작 Sisulizer 강의 종료 안내 23 pCsOrI 2017.07.04 414
13 한글화 제작 [문의 답변 자료] 16 file pCsOrI 2017.06.02 329
12 한글화 제작 [참고 자료] 마소 제공 지역화 안내서 24 file pCsOrI 2017.05.16 407
11 한글화 제작 [1강 3회] 나만의 번역 "사전 만들기 - 가져오기" 28 file pCsOrI 2017.05.11 361
10 한글화 제작 [1강-2회] Sisulizer에서 번역하기 17 file pCsOrI 2017.05.10 239
9 한글화 제작 [1강-1회] Sisulizer로 프로젝트 만들기 18 file pCsOrI 2017.05.10 243
8 한글화 제작 [1강-준비2] Resource Hacker 와 Sisulizer 4의 비교하기 24 file pCsOrI 2017.05.10 238
7 한글화 제작 [1강-준비1] 한국어 언어 파일 만들기 28 file pCsOrI 2017.05.09 390
6 포맷 컴퓨터포맷하기 106 따봉 2016.12.26 2013
5 포맷 고스트 자동 복구 시스템 설치하기 - 윈도우 7, 윈도우 비스타 공통(설명용) 184 Op 2016.11.10 4012
4 포맷 Vincent's WinXP Ghost V2.5 vm 설치.avi 42 Op 2016.11.10 1078
Board Pagination Prev 1 2 Next
/ 2
위로