Tartalomjegyzék

< Programok

Nsis

Telepítés

Leszedjük a legújabb változat telepítőjét például innen:

Futtatjuk az nsis-2.46-setup.exe telepítőt. (Jelenleg a 2.46-os az aktuális kidadás)

Telepítő készítése

Lépések

  1. script fájl készítése
  2. script fájl fordítása
  3. Telepítő kipróbálása

Script fájl készítése

A script fájl egy tetszőlegesen elnevezett .nsi kiterjesztésű fájl.

Változók

$DESKTOP
$PROGRAMFILES

Lapok (Page)

Megmondják a telepítő milyen lapokat dobjon fel. A telepítés folyamatáról alapértelmezetten van egy ablak, és csak ez az ablak. A lapok sorrendje meghatározza a megjelenésük sorrendjét.

Page license
Page components
Page directory
Page instfiles
UninstPage uninstConfirm
UninstPage instfiles

Szekciók

Section "Installer Section"
SectionEnd

Section "un.Uninstaller Section"
SectionEnd

Példa

Section "Programom"
  SetOutPath $INSTDIR
  File "Programom.exe"
  File "Olvasd.txt"
SectionEnd

Regisztrációs kulcs

; Regisztrációs kulcs a könyvtárellenőrzéshez (így ha újra telepítünk az automatikusan felülírásra kerül
InstallDirRegKey HKLM "Software\NSIS_Pelda2" "Install_Dir"

Script fájl fordítása

Elindítjuk az NSIS programot:

Start -> Programok -> NSIS

A programban a „Compiler” rész:

Compile NSI scripts

Az előugró ablakban betöltjük a Pelda.nsi állományt.

Betöltéssel együtt fordításra is kerül. Az ablakban lehetővé válik a script tesztelése, szerkesztése és újrafordítása.

A fordítás kezdeményezhető Intézőből vagy Total Commanderből jobb egér gomb után a következő menüpontot választva:

Compile NSI script

Példák

Példa 1

Pelda.nsi

; A telepítő neve
Name "pelda"

; A kimeneti fájl neve
OutFile "pelda.exe"

;Az alapértelmezett telepítésikönyvtár
InstallDir $DESKTOP\Pelda

; Lapok

Page directory
Page instfiles

Section ""  ; Nincs név, mert nem fontos
  
  ; Kimeneti útvonal beállítása telepítőkönyvtárként
  SetOutPath $INSTDIR
  
  ; Tegyük a fájlt ide:
  File Pelda.nsi
SectionEnd

Példa 2

; Pelda2.nsi
;--------------------------------

; A telepítő neve
Name "Example2"

; A kimeneti fájl neve
OutFile "example2.exe"

; Telepítés könyvtára
InstallDir $PROGRAMFILES\Example2

; Regisztrációs adatbázis kulcs ellenőrzése (így, ha újratelepítésre kerül a sor az automatikusan felülírásra kerül
InstallDirRegKey HKLM "Software\NSIS_Example2" "Install_Dir"

; Igényelt application jogok Windows Vista számára
RequestExecutionLevel admin

;--------------------------------

; Oldalak

Page components
Page directory
Page instfiles

UninstPage uninstConfirm
UninstPage instfiles

;--------------------------------


; A dolog telepítése
Section "Pelda2 (required)"

  SectionIn RO
  
  ; Kimeneti útvonal a telepítési útvonalra állítása
  SetOutPath $INSTDIR
  
  ; Ide tesszük a fájlt
  File "pelda2.nsi"
  
  ; Az telepítési útvonal registrybe írása
  WriteRegStr HKLM SOFTWARE\NSIS_Example2 "Install_Dir" "$INSTDIR"
  
  ; Az uninstall kulcsok írása a Windows számára
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pelda2" "DisplayName" "NSIS Pelda2"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pelda2" "UninstallString" '"$INSTDIR\uninstall.exe"'
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pelda2" "NoModify" 1
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pelda2" "NoRepair" 1
  WriteUninstaller "uninstall.exe"
  
SectionEnd

; Opcionális rész (megjelenés a felhasználó számára) 
Section "Start Menu Shortcuts"

  CreateDirectory "$SMPROGRAMS\Pelda2"
  CreateShortCut "$SMPROGRAMS\Pelda2\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
  CreateShortCut "$SMPROGRAMS\Pelda2\Pelda2 (MakeNSISW).lnk" "$INSTDIR\pelda2.nsi" "" "$INSTDIR\pelda2.nsi" 0
  
SectionEnd

;--------------------------------

; Uninstaller

Section "Uninstall"
  
  ; Regisztrációs adatbázis kulcsainak törlése
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pelda2"
  DeleteRegKey HKLM SOFTWARE\NSIS_Pelda2

  ; Fájlok és uninstaller törlése
  Delete $INSTDIR\example2.nsi
  Delete $INSTDIR\uninstall.exe

  ; A shortcuts törlése
  Delete "$SMPROGRAMS\Pelda2\*.*"

  ; A használt könyvtárak törlése
  RMDir "$SMPROGRAMS\Pelda2"
  RMDir "$INSTDIR"

SectionEnd

Külső linkek