2013-01-21 3 views
3

을 어떻게 널 소프트 스크립트 작성 시스템 (NSIS) 자동 설치를 설치를 만드는 방법? 위키널 소프트 스크립트 가능한 시스템 (NSIS) 설치를 설치 - 자동 모드

:

"널 소프트 스크립트 작성 시스템 (NSIS)이 그것은 원래 널 소프트, 회사에 의해 개발 된 Windows 용 설치 프로그램을 만드는 허용 스크립트에 의해 제어 무료 소프트웨어입니다 설치합니다. 윈앰프. NSIS의 창조자 InstallShield에 같은 상용 제품에 대한 대안입니다.

NSIS 컴파일러 프로그램이 설치 실행 프로그램에 makensis 다음의 예와 같은 스크립트. 스크립트의 각 행은 하나의 명령이 포함되어 컴파일합니다. "

# Example script 

Name "Example1" 
OutFile "example1.exe" 
InstallDir "$PROGRAMFILES\Example1" 
Page Directory 
Page InstFiles 
Section 
    SetOutPath $INSTDIR 
    File ..\makensis.exe 
SectionEnd 

답변

13

명령 줄 사용

1. makensis 사용

컴파일시 NSIS (.nsi) O를 생성하는 스크립트를 설치

makensis [option | script.nsi | - [...]] 

,363,210
makensis.exe myscript.nsi 

2.에게

일부 옵션

설치가
  • /S가 제거 프로그램이 자동으로 금을 설치 실행
  • /D는 경우 InstallDir을 무시 기본 설치 디렉토리 ($ INSTDIR)를 설정 및 InstallerDirRegKey. 이 명령 줄에 사용 된 마지막 매개 변수 여야합니다 및 경로에 공백이 포함 된 경우에도, 모든 따옴표를 포함 할 수 없습니다. 절대 경로 만 지원됩니다.

템플릿

installer.exe /S 

installer.exe /S /D=C:\Program Files\NSIS 

자동 설치/설치 제거

  • 설치가 침묵하고 있는지 여부를 확인하려면, 자동 모드의 일부 Insructions을 (사용자 건너 뛰려면 IfSilent

  • 를 사용 상호 작용, 창 창조), u 이 예에서 명령

예를

IfSilent +2 0 
    MessageBox MB_OK|MB_ICONINFORMATION 'This is a "non silent" installer' 

를 이동합니다, 포스트 박스가 설치 IIF 표시됩니다 침묵이다. 즉 IfSilent가 참일 경우 클러스터링 +2 NEX 지시 스킵 수단. 0 클러스터링 모자 문이 거짓 IfSilent 경우 shoulds 다음으로 이동 컴파일을 의미합니다.

  • 은 (단지 잠시 동안) 자동 모드에서 설치 프로그램을 설정 .onInit 방법 SetSilent를 사용합니다. 옵션은 무음 모드의 경우 silent이고 무음 모드의 경우 normal입니다.

  • 설치 프로그램을 설정하려면 | 침묵 unsinstaller, 당신은 또한 자동 모드에서

    SilentInstall silent

    SilentUnInstall silent

  • 을 사용할 수 있습니다, 설치 프로그램 자체에서 모든 화면이 표시되지 않습니다. 그러나 메시지 상자 및 SF_SELECTED 플래그가없는 다른 모든 화면이 표시 될 수 있습니다. 설치 프로그램을 완전히 소리내어 쓰지 않으려면 명령 건너 뛰기 (일반적으로)를 사용하거나/SD IDOK | IDCANCEL (OK | CANCEL 메시지 박스 용). 자동 모드가 켜져있는 경우 여기에

MessageBox MB_OK|MB_ICONINFORMATION "This is not a silent installer" /SD IDOK

는 메시지 상자가 표시 확인을 사용자와 마찬가지로 작동되지 않습니다. 옵션 조심 주문이

MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "Application is running. Please close it first." /SD IDCANCEL IDOK OK IDCANCEL CANCEL 
  • 일부 정보가 자동 모드에서 사용자로부터 수집해야하는 경우, 좀 더 많은 옵션을 GetOptions와 .onInit를 함수에 전달 될 수있다, 여기에 같은

:

!include FileFunc.nsh 
!insertmacro GetParameters 
!insertmacro GetOptions 

Function .onInit 
    ${GetParameters} $R0 
    ClearErrors 
    ${GetOptions} $R0 /USERNAME= $0 
FunctionEnd 

참조

NSIS silent install 1

NSIS silent install 2

NSIS silent install 3

+0

또한 $ {경우}'사용할 수있는 $ {자동} ... $ {ENDIF}''와! LogicLib.nsh' 포함 – kichik