Title: Bienvenue dans le programme de formation rapide NSIS
1Bienvenue dans le programme de formation rapide à
NSIS
Date 20 novembre 2003 Intervenant Julien
VICTOR Interlocuteurs Ingénieurs 2000
Informatique et Réseaux (3ème année)
2Comprendre et savoir expliquer NSIS
Définition du terme
Où / Quand / Pourquoi l'utiliser ?
Comment installer le programme principal ?
Pouvoir créer un premier exemple pratique
Utilisation au travers d'un exemple simple
Quelles sont les commandes principales ?
Quelles sont les possibilités de NSIS ?
3........ etc.
4Nullsoft Scriptable Install System NullSoft
Install System NSIS
5Deux équipes de développement
Justin Frankel (NullSoft) - technologie
SuperPIMP - dérivé de PIMP (Nullsoft Plug-In
Mini Packager)
Développeurs OpenSource
Une licence
zlib/libpng (licence approuvée par OpenSource.org)
1- Origines du programme claires (et précisée
?) 2- Modifications des sources originales
indiquées comme telles 3- Licence présente avec
toute distribution du programme
6- installation / désinstallation sous Windows -
compression des données - détection des erreurs
d'intégrité des données (CRC) - interface
utilisateur personnalisable - multilingue -
gestion des types d'installation (système de
composants) - fichiers générés jusqu'à 2Go - ...
7- gestion des fichiers / registre - support des
variables - manipulation de chaînes de caractères
et d'entiers - branchements, comparaisons -
manipulation de l'interface - préprocesseur -
utilisation de plugins - ...
8En-tête du fichier (définition de la structure
interne)
Code exécutable
Données propres à NSIS
Ressources
9exemple SmartFTP NSIS 2,4 Mo MSI 6,0 Mo
10Deux versions téléchargeables Versions
'stables' / CVS
Version 1.98 Style normal
Version 1.98 Style moderne
11Fichier texte (possibilité d'utiliser des
éditeurs spécifiques)
Format commande arg0 arg1 ...
Language 'proche' de l'assembleur
12Enoncé Vous êtes développeur de renommée
internationale, et venez de concevoir un très bon
(enfin, c'est votre avis) éditeur de texte. Votre
package (ou ensemble de fichiers, en français) se
compose de - beizw.exe (pour best editor in ze
world) - beizw.txt (le fichier lisez-moi) - une
clé dans la base de registre, indiquant ou le
programme a été installé (sinon, vous aveiz
remarqué que votre programme plantait
misérablement... personne n'est parfait) - un
raccourci sur le bureau et le menu démarrer - la
possibilité de désinstaller (vous ne vouliez pas,
mais c'est vrai que ca rend bien...)
exemple provenant du site http//www.winampfr.com/
nsis
13Name "Beizw" Icon "inst.ico" OutFile
"beizw_install.exe" LicenseText "Cette
installation va installer Beizw" LicenseData
"doc\beizw.txt" ComponentText "Cela installera
Beizw sur votre ordinateur.." DirText "Répertoire
d'installation" InstallDir "PROGRAMFILES\Les
programmes fabuleux de VeeKee\Beizw" InstallDirReg
Key HKLM "Software\Microsoft\Windows\CurrentVersio
n\Uninstall\Beizw""UninstallString"
14InstType Normale InstType Entiere Section
"Programme (requis)" SectionIn 1 2 / à
compléter ... / SectionEnd Section
"Raccourcis" SectionIn 2 / à compléter
... / SectionEnd
15Section "Programme (requis)" SectionIn 1 2
SetOutPath INSTDIR File "bin\beizw.exe" File
"doc\beizw.txt" SectionEnd Section
"Raccourcis" SectionIn 2 SetOutPath
"SMPROGRAMS\Beizw" CreateShortCut
"SMPROGRAMS\Beizw\Beizw.lnk" "INSTDIR\Beizw.exe"
CreateShortCut "SMPROGRAMS\Beizw\Documentation.l
nk" "INSTDIR\Beizw.txt" SetOutPath
"DESKTOP\Beizw" CreateShortCut
"DESKTOP\Beizw.lnk""INSTDIR\Beizw.exe" SectionEn
d
16Section -PostInstall WriteRegStr HKLM
"Software\Microsoft\Windows\CurrentVersion\Uninsta
ll\Beizw" "DisplayName" "Beizw (désinstallation)"
WriteRegStr HKLM "Software\Microsoft\Windows\Curre
ntVersion\Uninstall\Beizw" "UninstallString"
'"INSTDIR\uninst-Beizw.exe"' WriteUninstaller
"uninst-beizw.exe" WriteRegStr HKLM
"Software\Veekee\Beizw" "Repertoire" '"INSTDIR"'
SectionEnd
17UninstallText "Voulez-vous vraiment enlever Beizw
de votre système ?" UninstallIcon
"uninst.ico" Section "Uninstall" DeleteRegKey
HKLM "Software\Microsoft\Windows\CurrentVersion\Un
install\Beizw" DeleteRegKey HKLM
"Software\Veekee\Beizw" Delete "INSTDIR\uninst-be
izw.exe" Delete "INSTDIR\beizw.exe" Delete
"INSTDIR\beizw.txt" RMDir INSTDIR Delete
"DESKTOP\Beizw.lnk" Delete "SMPROGRAMS\Beizw\.
" RMDir "SMPROGRAMS\Beizw" SectionEnd
18Site officiel (anglais) http//nsis.sourceforge.
net
Communauté française http//www.winampfr.com/nsi
s
19La formation NSIS a été terminée avec succès.