Tvorba Instalátoru

Vytvořili jste nějaký zajímavý program a teď ho chcete rozšířit? Jestli ano, určitě budete chtít vytvořit nějaký instalátor pro snadnější instalaci vaší aplikace. Ti lepší si instalátor naprogramují sami, ale pro ty ostatní je i jiná možnost, a to použít nějaký již hotový instalátor.

Úvod máme za sebou, teď se pojdmě podívat na nějaký ten nástroj pro tvorbu instalátorů. Vybral jsem si nástroj NSIS. Je to open source, a byl vyvinut firmou Nullsoft (tvůrce Winampu). Je to komplexní nástroj pro tvorbu instalátorů, navíc je rozšiřitelný díky podpoře pluginů. Ma spoustu funkcí, v tomto článku se budu věnovat pouze vytvořením jednoduchého instalátoru, který přidá zástupce na plochu a do nabídky START. Program půjde odinstalovat z nabídky „Přidat nebo ubrat programy“.

Jak začít?

Nejdříve si musíte sehnat samotný program NSIS, najdete ho třeba na domovských stránkách projektu http://nsis.sourceforge.net. Je to skriptovací nástroj, proto pro vytvoření instalátoru potřebujete napsat příslušný skript. Naštěstí je v složce s programem, v adresáři Examples spousta ukázkových skriptů. Já budu v tomto článku vycházet z příkladu example2.nsi. Myslím že pro většinu programů bude tento instalátor bohatě stačit. Nejlepší bude asi když zde vložím obsah tohoto skriptu a přeložím komentáře do češtiny.

Example2.nsi

; example2.nsi
; Tento skript nainstaluje example2.nsi do adresáře, který si uživatel zvolí
;--------------------------------
; Název pro instalátor
Name "Example2"
; Název pro soubor instalátoru
OutFile "example2.exe"
; Defaultní cesta, kam se bude instalovat program pokud uživatel nezvolí jinak
InstallDir $PROGRAMFILES\Example2
; Klíč v registru, který zkontroluje adresář (takže pokud nainstalujete znovu
; přepíše se automaticky ten starý)
InstallDirRegKey HKLM "Software\NSIS_Example2" "Install_Dir"
;--------------------------------
; Pages
Page components
Page directory
Page instfiles
UninstPage uninstConfirm
UninstPage instfiles
;--------------------------------
; "Sekce" které se budou instalovat, rozdělené na required(požadované) a nebo dobrovolné
Section "Example2 (required)"
SectionIn RO
; Nastaví adresář kam se má program instalovat
SetOutPath $INSTDIR
; Tady vložte soubory které instalátor bude obsahovat,
; v tomto příkladu to bude jen jeden soubor example2.nsi
File "example2.nsi"
; Zapíše cestu k programu do registrů windows
WriteRegStr HKLM SOFTWARE\NSIS_Example2 "Install_Dir" "$INSTDIR"
; Zapíše klíče do registru pro odinstalování
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "DisplayName" "NSIS Example2"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "NoRepair" 1
WriteUninstaller "uninstall.exe"
SectionEnd
; Tuto sekci jde vynechat, uživatel ji může během instalace odznačit,
; tím pádem se nezkopíruje zástupce do nabídky start
Section "zástupce v nabídce start"
CreateDirectory "$SMPROGRAMS\Example2"
CreateShortCut "$SMPROGRAMS\Example2\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\Example2\Example2 (MakeNSISW).lnk" "$INSTDIR\example2.nsi" "" "$INSTDIR\example2.nsi" 0
SectionEnd
; Teď ještě přidat zástupce na plochu
Section "zástupce na ploše"
CreateShortCut "$DESKTOP\Example2.lnk" "$INSTDIR\example2.nsi" "" "$INSTDIR\example2.nsi" 0
SectionEnd
;--------------------------------
; A nakonec musíme vytvořit odinstalátor, pro odstranění všech instalovaných částí
Section "Uninstall"
; Odstranit záznamy z registru
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2"
DeleteRegKey HKLM SOFTWARE\NSIS_Example2
; Odsranit instalované soubory
Delete $INSTDIR\*.*
; Odsranit zástupce
Delete "$SMPROGRAMS\Example2\*.*"
Delete "$DESKTOP\Example2.lnk"
; Odstranit vytvořené adresáře
RMDir "$SMPROGRAMS\Example2"
RMDir "$INSTDIR"
SectionEnd

Teď by už mělo být vše jasné, pokud ne, ptejte se v komentářích pod článkem. Není problem si přídat další volitelné sekce.

Kompilace skriptu

Skript máme hotový, teď už stačí jen kliknout pravým na soubor, a z nabídky vybrat „Compile NSIS script“. Pokud tam tuto možnost nemáte, musíte otevřít NSIS, a pomocí drag and drop tam ten soubor přetáhnout do toho okna. Během chvilky se skript skompiluje, a v tomtéž adresáři se vytvoří soubor Example2.exe , nebo jak jste si ho pojmenovali.

Příspěvek byl publikován v rubrice Programování, Různé. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

1 komentář: Tvorba Instalátoru

  1. Thomas napsal:

    Dobry den, kdyz vytvorim ten skript uplne stejne jako je tady tak to funguje ale jak tam mam vlozit nejaky program aby se nainstaloval? Nechci nainstalovat nejake example2.nsi ale chci nainstalovat nejaky program.exe prosim o nejaky navod, protoze uz si nevim rady, dekuju

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.