Installation de NSIS 2.46 sous Debian Lenny
Par david techer, samedi 2 octobre 2010 à 16:13 :: Mon réseau et compagnie... :: #744 :: rss
0. Exemple
J'ai mon domaine Windows à la maison géré par Samba/OpenLDAP en tant que PDC.Je veux utiliser NSIS pour me créer un petit exe qui affiche un petit message de bienvenue lors de l'ouverture de session.
Ca affichera pendant une dizaine de seconde
Message de bienvenue apparaissant (pendant quelques secondes) lors de l'ouverture de session pour un domaine en PDC géré par Samba/OpenLDAP
1. Motivations
Travailler avec NSIS sous Windaube c'est bien mais l'avoir sous Nunux c'est encore mieux
Si vous travaillez avec quelqu'un qui est sous Nunux et vous sous Windaube, ca évitera qu'il vienne vous squatter votre ordi pour compiler ses scripts de NSIS. (Moi je dis ça mais je dis rien)De plus les paquets .deb proposés par Debian sont quand même assez anciens. Il est intéressant de disposer d'une version à jour
melina-xen07:~/example# apt-cache policy nsis nsis: Installé : (aucun) Candidat : 2.37-3 Table de version : 2.37-3 0 500 http://ftp.us.debian.org lenny/main Packages- Par ailleurs le paquet est incomplet comme l'atteste
melina-xen07:~/example# apt-cache show nsis |tail -6 |head -3 Some parts of nsis cannot be built on Debian because of non-free requirements. Please see the following file for more information: /usr/share/doc/nsis/README.Debian
2. Pré-requis
Cette version de NSIS suppose d'installer scons, python et gcc/g++. Pour scons, il faut une version supérieure à 0.98 Ca tombe bien. Sous Lenny, on amelina-xen07:~/nsis_work# apt-cache show scons | grep -i ^version Version: 1.0.0-1Donc on peut installer
apt-get update apt-get install -y python scons g++ gcc bzip2 unzip mingw32-binutils mingw32 mingw32-runtime libpthread-stubs0-dev
2. Téléchargement
On télécharge nsis-2.46-src.tar.bz2. On décompresse ensuitewget -q http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-src.tar.bz2/download -O nsis-2.46-src.tar.bz2 && tar xjf nsis-2.46-src.tar.bz2Ou sinon le tout à la voléé
wget -q http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-src.tar.bz2/download -O - |tar xjf -
3. Compilation et installation
Rien de plus simple quescons PREFIX=/opt/nsis install
4 .Exemple
4.1 Le script
Le scriptwelcome.nsi utilisé sera donc
/*
Script de connexion au domaine DavidGIS.fr
*/
!define PRODUCT_NAME "Welcome"
!define PRODUCT_VERSION "0.1"
!define PRODUCT_PUBLISHER "Jean David TECHER"
!define PRODUCT_WEB_SITE "http://www.davidgis.fr"
SetCompressor zlib
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}.exe"
InstallDir "$TEMP"
# Mode silencieux
SilentInstall silent
# Ecran de bienvenue inspiré de http://nsis.sourceforge.net/Docs/Splash/splash.txt
####################################################################
Function .onInit
SetOutPath $TEMP
File /oname=spltmp.bmp "welcome_davidgis.bmp"
splash::show 10000 $TEMP\spltmp
# advsplash::show 3000 1600 1400 0xFFFFFF $TEMP\spltmp
Pop $0 ; $0 has '1' if the user closed the splash screen early,
; '0' if everything closed normally, and '-1' if some error occurred.
Delete $TEMP\spltmp.bmp
FunctionEnd
Section "Principal" SEC01
SetOverwrite on
SetOutPath "$TEMP"
File "connexion.txt"
Exec `cmd /c echo %COMPUTERNAME%: l'utilisateur "%USERNAME%" est connecté sur le domaine "%USERDOMAIN%" >> %TEMP%\connexion.txt`
SectionEnd
Section -Post
SectionEnd
4.2 Compilation et mise en place avec Samba
Pour la compilation/opt/nsis/bin/makensis welcome.nsqui générera le fichier
Welcome-0.1.exe
Mon serveur Samba est sur l'hote olivia.davidgis.fr. Pour mon Samba, j'ai configuré mon netlogon ainsi de manière général pour tout les utilisateurs
root@olivia:~# grep logon /etc/samba/smb.conf|grep -E '(script|netlogon)' logon script = logon.bat [netlogon] path = /home/netlogonC'est donc
/home/netlogon/logon.bat que je vais devoir modifier.
Il suffit donc de copier Welcome-0.1.exe sur un partage commun à tous afin de le rendre accessible à tous les utilisateurs. Par exemple
root@olivia:~# grep '\[partage\]' -A5 /etc/samba/smb.conf [partage] comment = Repertoire commun browseable = Yes writeable = Yes public = No path = /home/partageOn le copie donc sur /home/partage
Le contenu de /home/partage devient donc
root@olivia:~# cat /home/netlogon/logon.bat \\olivia\partage\Welcome-0.1.exe net use p: \\olivia\partage net use u: \\olivia\%username%
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.