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.
zatím žádný komentář
Přidej komentář!