섹션이란…

Sections

섹션이란 앞에서도 언급했듯이 NSIS 설치관리자의 핵심을 이루는 것입니다. NSIS는 반드시 하나 이상의 섹션을 포함해야하며 이 섹션들은 아래와 같은 규칙하에 그 밑의 명령들로 관리됩니다.

 

  • 각 섹션은 0개 이상의 명령을 포함합니다. (하나도 없을 수도 있습니다).
  • 섹션은 설치마법사에 의해 순서대로 실행되며 ComponentText 가 설정되어 있다면 사용자는 각 보이는 섹션을 선택하거나 해제할 수 있습니다.
  • 만약 섹션의 이름이 ‘Uninstall’ 이거나 섹션 이름앞에 ‘un.’ 이라는 접두어를 붙이면 이것은 설치제거때에만 쓰입니다.
Section Commands
AddSize size_kb
설치관리자에게 현재 섹션이 추가로 size_kb 키로바이트 만큼 필요하다고 알려줍니다. 이 명령은 오직 섹션에서만 유효합니다.

Section


새로운 섹션을 시작합니다. 만약 섹션이름이 빈공간이거나 – 로 시작하면 이 섹션은 숨김 속성을 가져서 사용자에게 보이지 않습니다. 만약 섹션이름이 ‘Uninstall’ 이거나 ‘un.’으로 시작하면 설치제거 섹션으로 사용됩니다. 섹션 인덱스 출력 변수가 설정되면 이 매개변수는 !defined 매크로에 의해 섹션 인덱스 값이 설정되고 SectionSetText 등의 관리명령에서 사용됩니다. 섹션이름이 !로 시작하면 굵은 글씨로 보이고 /o 를 설정하면 기본적으로 선택해제된 상태가 됩니다.

SectionEnd

현재 열린 섹션을 닫습니다.

SectionIn

이 명령은 현재 섹션이 기본적으로 속하게 될 설치유형을 설정합니다. 복합적인 SectionIn 명령은 모두 합해져서 나타납니다. 만약 RO 매개변수를 지정하면 이 섹션은 읽기전용으로 사용자는 상태를 변경할 수 없습니다. 설치 유형은 InstType 명령에 의해 최초 1부터 차례대로 붙어나갑니다.


SectionGroup


섹션 그룹이란 섹션들을 포함하는 섹션으로 섹션들을 보기좋게 모아서 나타날 때 사용합니다.섹션 그룹을 설정하며 반드시 SectionGroupEnd 명령으로 닫아야 합니다. 또한 반드시 하나 이상의 섹션을 포함해야 합니다. !로 이름이 시작하면 굵은 글씨체로 나타납니다. /e 를 설정하면 섹션그룹은 펼쳐져서 나타납니다. 만약 섹션이름이 ‘un.’으로 시작하면 설치제거 섹션으로 사용됩니다. 섹션 인덱스 출력 변수가 설정되면 이 매개변수는 !defined 매크로에 의해 섹션 인덱스 값이 설정되고 SectionSetText 등의 관리명령에서 사용됩니다.


SectionGroupEnd

섹션그룹을 닫습니다.

Uninstall Section
‘Uninstall’ 이라는 특별한 섹션은 설치제거마법사를 생성하기 위해 반드시 만들어야합니다. 이 섹션에서 설치했던 파일, 레지스트리 등을 삭제합니다.

제일먼저 Delete 명령으로 설치제거마법사를 삭제합니다. 왜냐하면 설치제거마법사는 윈도 임시 디렉토리로 복사되어 그곳에서 실행되기 때문입니다.설치제거때 $INSTDIR 값은 설치제거마법사가 있는 곳입니다. 반드시 설치마법사가 있는 곳과 같지는 않습니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다