Précédent | Sommaire | Suivant

4.12 Installations/Désinstallations silencieuses

Les installations silencieuses sont des installations ne demandant aucune action de l'utilisateur, et n'utilisant aucune interface graphique. L'utilisateur ne voit aucune fenêtre et aucune question ne lui est posée. Cela est particulièrement utile pour les administrateurs réseaux voulant installer ou désinstaller quelque chose sans intervention de l'utilisateur, afin d'accomplir l'opération rapidement et sur plusieurs ordinateurs. C'est aussi utile pour les développeurs voulant intégrer une autre installation dans la leur, sans pour autant afficher deux installations.

Les installations et désinstallations NSIS peuvent être à la fois silencieuses et non silencieuses. Lorsqu'une installation ou désinstallation est silencieuse, toutes les fonctions d'interaction ne sont pas appelées. .onGUIInit, .onGUIEnd, leur équivalents pour la désinstallation et toute fonction d'interaction associée à une page spécifique ou ) un type de page ne sera pas appelée.

Il existe plusieurs méthodes pour rendre une installation ou une désinstallation silencieuse :

  1. SilentInstall et SilentUninstall
  2. SetSilent
  3. Passer /S en ligne de commandes (sensible à la casse)

Pour vérifier sir l'installation/désinstallation est silencieuse, utilisez IfSilent.

Pour être certain que votre installation sera silencieuse lorsque ce sera nécessaire, vous devrez le vérifier avec IfSilent avant chaque commande demandant une action à l'utilisateur ou création d'une fenêtre. La commande MessageBox, qui est le plus gênant dans une installation silencieuse, possède l'option /SD pour définir la réponse par défaut pour les installations silencieuses. Si vous voulez que votre installation/désinstallation soit capable d'être totalement silencieuse, vous devrez utiliser cette option. Toutes les boîtes de dialogues internes de NSIS possède une valeur par défaut pour les installations silencieuses. L'exemple silent.nsi démontre tous les aspects de ce sujet.

Puisque la page de sélection du répertoire ne peut pas être affichée lors d'une installation silencieuse, l'utilisateur peut définir le répertoire d'installation à partir de la ligne de commandes (cela fonctionne aussi avec les installations/désinstallations non silencieuses). Pour cela, l'utilisateur utilise l'option /D comme dans l'exemple suivant :

magnolia_forever.exe /S /D=C:\Program Files\Foreeeeeeever

Si votre installation/désinstallation nécessite d'autres installations qui ne peuvent être fournies en mode silencieux, vous pouvez autoriser l'utilisateur à spécifier ces informations en ligne de commandes et à les traiter dans .onInit. Par exemple :

Function .onInit
  Call GetParameters
  Pop $2
  # Recherche de /USERNAME entre guillemets
  StrCpy $1 '"'
  Push $2
  Push '"/USERNAME='
  Call StrStr
  Pop $0
  StrCpy $0 $0 "" 1 # on passe les guillemets
  StrCmp $0 "" "" next
    # Recherche de /USERNAME non entre guillemets
    StrCpy $1 ' '
    Push $2
    Push '/USERNAME='
    Call StrStr
    Pop $0
next:
  StrCmp $0 "" done
    # copie de la valeur après /USERNAME=
    StrCpy $0 $0 "" 10
  # Recherche du paramètre suivant
  Push $0
  Push $1
  Call StrStr
  Pop $1
  StrCmp $1 "" done
  StrLen $1 $1
  StrCpy $0 $0 -$1
done:
FunctionEnd

L'exemple ci-dessus va copier la valeur que l'utilisateur passera après /USRNAME= dans $0. Cela permet à l'utilisateur de spécifier l'information requise en ligne de commandes, au lieu d'utiliser une interface interactive. L'utilisateur peut utiliser :

magnolia_forever.exe /S /USERNAME=BarTapas /D=C:\Program Files\Foreeeeeeever

ou :

magnolia_forever.exe /S "/USERNAME=dans l'espace" /D=C:\Program Files\Foreeeeeeever

GetParameters et StrStr peuvent être trouvés dans appendice C.

Si votre installation nécessite trop d'informations et que vous voulez pouvoir la rendre silencieuse, vous devriez autoriser l'utilisateur à spécifier un fichier de réponses. Cela sera alors bien plus confortable que de tout écrire en ligne de commandes.

Précédent | Sommaire | Suivant


A propos | Contacts | Publicité | Info légales | © Todae 2006-2008

Sites partenaires : discount | avis rémunérés| sorties DVD | Winamp