Tartalomjegyzék
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
- script fájl készítése
- script fájl fordítása
- 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