Nullsoft 스크립트 가능 설치 시스템

Nullsoft Scriptable Install System
Nullsoft 스크립트 가능 설치 시스템
Nullsoft Scriptable Install System icon.png
NSIS screenshot.png
NSIS 설치
원저작자특수한 소프트웨어
개발자NSIS 팀 및 NSIS 커뮤니티
초기 릴리즈2000년 7월 31일, 22년(2000-07-31)[1]
안정된 릴리스
3.08 / 2021년 9월 25일; 10개월 전(2021-09-25)
저장소
기입처C, C++
운영 체제Windows, Mac OS X
유형소프트웨어 개발 도구
면허증.zlib 라이선스
웹 사이트nsis.sourceforge.이오

NSIS(Nullsoft Scriptable Install System)는 Winamp의 작성자인 Nullsoft가 지원하는 Microsoft Windows용 스크립트 구동 설치 오서링 도구입니다.NSIS는 자유 소프트웨어 라이센스(주로 zlib 라이센스)[2]의 조합으로 출시됩니다.Amazon, Dropbox, Google, Ubisoft, FL Studio,[3] BitTorrentMcAfee포함한 사용자들과 함께 InstallShield와 같은 상용 독점 제품의 대체 제품이 되었습니다.

역사

NSIS는 Winamp[4]배포하기 위해 작성되었습니다.이전 Nullsoft 제품인 PiMP(플러그인 Mini Packager)를 기반으로 하며 SuperPiMP로도 알려져 있습니다.버전 2.0a0 이후 프로젝트SourceForge로 이동되어 Nullsoft 외부의 개발자들이 정기적으로 작업을 시작했습니다.NSIS 2.0은 약 2년 후에 출시되었습니다.

NSIS 버전 1은 여러 면에서 기존 Windows Installer와 유사하지만 더 많은 압축 형식을 지원합니다.NSIS 버전 2는 새로운 합리화된 그래피컬 사용자 인터페이스를 제공하며 LZMA 압축, 다국어 및 사용하기 쉬운 플러그인 시스템을 지원합니다.

2006년 1월, NSIS는 Source Forge의 [5][6]이달의 프로젝트였습니다.

스크립트 예시

헬로 월드!

!include "MUI.nsh" !insertmacro MUI_LANGUAGUAGE "English" Name "Hello world!" # 설치 이름OutFile "HelloWorld.exe" # 설치 파일 이름.Function .onInit # 설치 시작 실행되는 FunctionInit #MessageBox MB_OK MB_ICONINFORMATION "Hello world!" # "Hello world!" 라는 메시지를 표시합니다.종료 # 간단한 "Hello world!" 설치이므로 설치 프로그램을 종료합니다.Function End 섹션 # 이 섹션은 단순한 "Hello world!" 설치이므로 사용할 수 없습니다.섹션 엔드

심플 인스톨러

!include "MUI.nsh" !define MUI_ABORTWARNING # 설치 프로그램을 종료하면 사용자에게 경고가 표시됩니다.!insertmacro MUI_PAGE_Welcome # 설치 페이지에 오신 것을 환영합니다.!insertmacro MUI_PAGE_DIRECTORY # 폴더 설치 페이지.!insertmacro MUI_PAGE_INSTFILES # 설치 페이지.!insertmacro MUI_PAGE_FINISH # 설치 완료 페이지.!insertmacro MUI_LANGUAGE "English" Name "MyApp" # 설치 관리자 이름(일반적으로 설치할 응용 프로그램의 이름)OutFile "MyAppInstaller.exe" # 설치 파일 이름.InstallDir "$PROGRAMFILES\MyApp" # 기본 설치 폴더($PROGRAMFILES는 Program Files 폴더).ShowInstDetails show # 설치 상세 내용이 항상 표시됩니다.섹션 "MyApp" # 이 섹션에서는 파일 또는 폴더를 추가합니다.# "파일(파일 이름)"을 사용하여 파일을 추가하거나 "파일($DESKTOP\MyApp.exe" ($DESKTOP is Desktop folder)" ($DESKTOP is Desktop folder)" ($DESKTOP is Desktop folder)\*" ($DESKTOP\myApp\*)와 같이 항상 폴더를 추가합니다.섹션 엔드

시작 메뉴에 숏컷을 추가하고 언인스톨러와 함께 제공되는 심플 인스톨러

# 설치 관리자 OutFile "InstallMyApp" 이름 정의 # 설치 디렉토리 InstallDir $LOCALAPPDATA\Programs\myapp # Windows 7 요청 시작 메뉴 바로가기 삭제실행레벨 사용자 # start default 섹션 # 설치 디렉토리SetOutPath $INSTDIR # 제거 프로그램 WriteUninstaller "$INSTDIR\uninstall.exe" # 제거 프로그램 CreateShortcut "$SM PROGRAMS\My AppIRDLN"에서 새로운 바로 가기를 가리킵니다.y AppUninstall.lnk" $INSTDIR\uninstall.exe" 파일 /r "C:\path\to\where\my\files\are\*" 섹션 엔드 # 언인스톨러 섹션 # "uninstall" 섹션 # "uninstaller" # 언인스톨러삭제합니다.exe # 두 번째로 "SM$" 링크삭제합니다.ninstaller 섹션섹션

개념

NSIS 1.98

대본

NSIS 컴파일러 프로그램 makensis는 다음과 같은 스크립트를 실행 가능한 설치 프로그램으로 컴파일합니다.스크립트의 각 행에는 1개의 명령어가 포함되어 있습니다.

# 예제 스크립트 이름 "Example1" OutFile "jubaowu.exe" InstallDir "$PROGRAMFILES\Example1" 페이지 디렉토리 페이지 "InstFiles" 섹션 SetOutPath $INSTDIR 파일 ..\makensis.exe 섹션 엔드

최신 사용자 인터페이스

버전 2.0에서는 MUI(Modern UI)라는 새로운 옵션 그래픽 사용자 인터페이스가 도입되었습니다.MUI에는 마법사와 같은 인터페이스가 있습니다.시작 페이지, 종료 페이지, 언어 선택 대화 상자, 구성 요소 설명 영역 및 이전 사용자 인터페이스보다 더 큰 사용자 지정 옵션을 지원합니다.

# 최신 UI 예제 스크립트!insert macro MUI.nsh Name "Example 2" OutFile "Example 2.exe" !insert macro MUI_PAGE_LICESS "license.rtf" !insert macro MUI_PAGE_Directory ! insert macro MUI _ PAGE _ DIRE _ MUI man"!insertmacro MUI_LANGUAGE "French" 섹션 "Extract makensis" SetOutPath $INSTDIR 파일..\makensis.exe 섹션 엔드

NSIS 버전 2.30(2007년 8월 25일 출시) 이후 이 UI의 새로운 버전(베타)에 액세스할 수 있습니다.Modern UI의 확장 기능인 Modern UI 2(MUI2)입니다.이전 MUI와 달리 이 버전은 오래된 InstallOptions .ini 파일이 아닌 nsDialogs를 기반으로 합니다.

버전 2.34(2007년 12월 24일 출시)부터 이 MUI2는 대량 사용이 가능하며 모든 NSIS 패키지에 포함되어 있습니다.또, 모든 예제가 그 예시로 바뀌었습니다.

최신 UI 2 매뉴얼

그래피컬 인터페이스

NSIS 프로젝트는 텍스트 파일을 편집하는 것만으로 구성할 수 있습니다(확장자 .nsi).다만, 다음과 같은 서드 파티가 편집 소프트웨어를 제공하고 있습니다.

  • Eclipse NSIS는 Eclipse 플랫폼용 모듈입니다.NSIS 스크립트를 편집, 컴파일 및 검증할 수 있습니다.
  • 커스텀 C++ 또는 Delphi 플러그인을 지원하는 HM NIS 편집(프리웨어) 편집기.
  • Venis(프리웨어) 에디터
  • Visual & Installer는 NSIS와 Microsoft Visual Studio IDE를 통합하여 NSIS 프로젝트를 직접 작성 및 구축할 수 있는 애드인입니다.

설치 인터페이스

최근 몇 년 동안 Modern UI를 확장하거나 대체하는 여러 프로젝트가 시작되었습니다.익스피리언스 등의 인터페이스UI 및 UltraModernUI는 InstallShield 인터페이스처럼 보이도록 스킨을 제거하여 설치 관리자의 스타일을 완전히 변경합니다.installSpider 등의 기타 인터페이스UI는 ASD와 동일한 수준의 기능을 유지하면서 사물의 시각적 측면에서 보다 최소화된 접근을 목표로 합니다.

플러그인

NSIS는 설치 프로그램과 통신할 수 있는 플러그인을 사용하여 확장할 수 있습니다.플러그인은 동적 링크 라이브러리(C, C++, Delphi 등)를 구축할 수 있는 비관리형 프로그래밍 언어로 작성할 수 있으며 설치 태스크를 수행하거나 설치 인터페이스를 확장하는 데 사용할 수 있습니다.NSIS 코드 한 줄로 플러그인을 호출할 수 있습니다.

NSIS 패키지에는 몇 가지 플러그인이 포함되어 있어 설치 관리자가 시작 화면 표시, 커스텀 페이지 표시, 배경 이미지 표시, 웹 사이트에서 파일 다운로드, 수학 연산, 패치 파일 등을 수행할 수 있습니다.

ZipDLL 및 Python 플러그인을 포함한 기타 플러그인은 온라인으로 이용할 수 있습니다.

특징들

NSIS는 다음 [7]기능을 지원합니다.

생성된 설치 관리자

생성된 설치 프로그램은 휴대용 실행 파일로, 설치 관리자 내에 아카이브된 설치 파일, NSIS [7]설치 관리자용 34KB 오버헤드 및 설치 스크립트가 실행 코드로 컴파일됩니다.설치 스크립트를 컴파일할 때 바이너리를 리버스 엔지니어링하지 않으면 제공된 실행 파일에서 스크립트를 가져올 수 없습니다.

아카이브는 7-Zip, Total Commander 플러그인 InstallExplor 또는 FAR Manager 플러그인 InstallExplor를 사용하여 압축 해제할 수 있습니다.

아카이브에는 몇 개의 폴더가 포함되어 있습니다.

  • $PLUGINSDIR: 설치 루틴 플러그인
  • $INSTDIR : 설치 시 사용되는 파일
  • $_OUTDIR : 설치하는 파일.

생성된 설치에는 사용자가 보다 많은 제어를 [8]할 수 있도록 명령줄 인수가 포함되어 있습니다.

  • /NCRC는 스크립트에 의해 강제되지 않는 한 CRC 체크를 디세블로 합니다.
  • /S는 설치/언인스톨러를 사일런트 상태로 실행합니다.
  • /D는 기본 설치 디렉토리를 설정합니다.마지막 매개 변수여야 하며 따옴표를 포함할 수 없습니다.절대 경로만 지원됩니다.

Unicode 지원

3.0 이전 버전의 NSIS는 Unicode를 지원하지 않고 플러그인을 [9]통해 일부 파일을 다른 인코딩으로 변환하는 수단만 지원했습니다.다만, 완전한 Unicode를 서포트하는 NSIS의 변형을 사용할 [10]수 있습니다.이 변종을 사용하는 주목할 만한 프로젝트는 다음과 같습니다.[11]

NSIS 버전 3.0의 릴리스에서 Unicode 지원은 컴파일러 명령어 "Unicode true"를 사용하여 구현할 수 있습니다.따라서 코드 변경 없이 Unicode를 완벽하게 지원할 수 있지만, 3.0 릴리스 NSIS가 Unicode 2.46.5 [13]Rev 3 및 ANSI 2.51용 PortableApps 형식으로 제공되기 전인 2016년 시점에서는 설치 프로그램이 Windows 95/98/[12]Me에서 실행되지 않습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ NSIS 1.x 버전 이력– NSIS Wiki
  2. ^ "NSIS licence page". NSIS.
  3. ^ "Users – NSIS".
  4. ^ Winamp 2.60 출시, Betanews, 2000-02-14, Tweakers, ...새로운 'Super PiMP' 설치 시스템 탑재...
  5. ^ SourceForge.net 2006년 1월 이달의 프로젝트
  6. ^ "OpenCandy Installer Platform Comparison". Archived from the original on 27 June 2011. Retrieved 27 June 2011.{{cite web}}: CS1 maint: bot: 원래 URL 상태를 알 수 없습니다(링크).
  7. ^ a b "Features". NSIS.
  8. ^ "installerUsage". NSIS.
  9. ^ "Unicode plug-in". NSIS.
  10. ^ "Unicode NSIS Project Page".
  11. ^ "Unicode NSIS Project Users".
  12. ^ "NSIS Users Manual Chapter 1". NSIS. Retrieved 26 May 2015.
  13. ^ "NSIS Portable". PortableApps.com. 19 May 2016. Retrieved 4 July 2016.

외부 링크