메뉴 건너뛰기

오에스매니아

조회 수 300 추천 수 0 댓글 7
?

단축키

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 313
25 포맷 Windows 10 사용자 계정 이동 23 VenusGirl 2018.02.05 1583
24 포맷 Windows 10 암호 분실 재설정 (메일 계정) 11 VenusGirl 2018.02.03 1135
23 포맷 HEVC / H.265 Decoder 코덱 설치 19 file VenusGirl 2018.01.19 1890
22 포맷 VirtualBox에서 macOS 설치하기 4부 7 file VenusGirl 2018.01.18 581
21 포맷 VirtualBox에서 macOS 설치하기 3부 3 file VenusGirl 2018.01.18 469
20 포맷 VirtualBox에서 macOS 설치하기 2부 3 file VenusGirl 2018.01.17 316
19 포맷 VirtualBox에서 macOS 설치하기 1부 9 file VenusGirl 2018.01.17 426
18 한글화 제작 VirtualBox에서 USB 부팅으로 OS 설치하기 38 file VenusGirl 2017.11.19 931
17 포맷 GetDataBack를 이용한 디스크 데이터 복구 22 file VenusGirl 2017.11.03 452
» 통합 제작 NSIS 설치팁 다중라이센스, 멀티라이센스 만들기 7 좋은걸 2017.10.09 300
15 한글화 제작 그림으로 보는 Resource Hacker 간단 설명서 34 file VenusGirl 2017.09.05 717
14 한글화 제작 Sisulizer 강의 종료 안내 23 pCsOrI 2017.07.04 473
13 한글화 제작 [문의 답변 자료] 16 file pCsOrI 2017.06.02 377
12 한글화 제작 [참고 자료] 마소 제공 지역화 안내서 24 file pCsOrI 2017.05.16 438
11 한글화 제작 [1강 3회] 나만의 번역 "사전 만들기 - 가져오기" 28 file pCsOrI 2017.05.11 446
10 한글화 제작 [1강-2회] Sisulizer에서 번역하기 17 file pCsOrI 2017.05.10 305
9 한글화 제작 [1강-1회] Sisulizer로 프로젝트 만들기 18 file pCsOrI 2017.05.10 315
8 한글화 제작 [1강-준비2] Resource Hacker 와 Sisulizer 4의 비교하기 24 file pCsOrI 2017.05.10 327
7 한글화 제작 [1강-준비1] 한국어 언어 파일 만들기 29 file pCsOrI 2017.05.09 530
6 포맷 컴퓨터포맷하기 108 따봉 2016.12.26 2183
목록
Board Pagination Prev 1 2 Next
/ 2
위로