FaqWpkg

De Mediase3
Version du 6 février 2018 à 21:18 par Keyser (discuter | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : Navigation, rechercher

Sommaire

Après avoir déployé une application avec wpkg, que faire s'il y a une mise à jour de l'appli en question? Est-ce automatique?

Si une mise à jour est disponible sur le forum, elle apparaît sous l'onglet : Ajouter une application -> Afficher les mises à jour.

La mise à jour d'une application sur le serveur est faite à la demande, pas automatiquement. Une fois installée sur le serveur, le déploiement de la mise à jour sur les postes du réseau se fait automatiquement.


Est-il possible de désinstaller une appli qui a été déployée?

Pour désinstaller une appli installée sur des postes, il suffit de décocher les cases correspondantes dans l'interface.

Supprimer une application du serveur n'est pas recommandé. Si on veut quand même le faire, s'assurer qu'elle a été au préalable désinstallée de tous les postes du réseau puis : 'Détail d'une appli' -> Supprimer.


Comment lancer des commandes personnalisées sur les postes ?

Exécuter des scripts une fois par poste

Un script UneFois.xml est disponible sur le [svn wpkg]. Il permet d'exécuter une liste de commandes contenue dans unefois.bat sur les postes du domaine. L'avantage est sa simplicité de mise à jour: à chaque modification du script batch, celui-ci sera ré-exécuté sur les postes non à jour. Inutile d'incrémenter le numéro de revision ni d'ajouter de nouveau un xml modifié dans l'interface!!

Si ce fonctionnement vous convient, il vous suffit de télécharger ce script depuis l'interface SAMBAEDU3 puis de créer-compléter le fichier Y:\unattended\install\packages\unefois\unefois.bat avec les commandes souhaitées. De nombreux exemples commentés sont présentés ci-dessous :

::Appliquer une clé de registre : on cache le nom du dernier utilisateur logue (donné à titre d'exemple : cette clé est imposée par défaut sur SE3)
"%Z%\wpkg\tools\reg.exe" add HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DontDisplayLastUserName /t REG_DWORD /d 1 /f
:: Copie locale d'un fichier de conf dans C:\windows\, on donne les droits aux utilisateurs de modifier ce fichier.
if not exist "%Z%\packages\designlab\MSIM.INI" (
xcopy /y "%Z%\packages\designlab\MSIM.INI" "c:\windows\" >NUL
cacls.exe "c:\windows\MSIM.INI" /E /T /P "BUILTIN\Utilisateurs":F >NUL
)
:: Suppression d'un compte local administrateur sur les machines neuves
net user | find "Dell" 1>NUL 2>NUL
if not errorlevel 1 net user /delete Dell
net user | find "dell" 1>NUL 2>NUL
if not errorlevel 1 net user /delete dell
:: Creation compte de secours eleve, mot de passe wawa pour login local si serveur HS
net user | find "eleve" 1>NUL 2>NUL
if errorlevel 1 net user /add eleve wawa
:: Enregistrement d'un fichier ocx
regsvr32 C:\\MSCOMM32.OCX /s
:: Ajout d'une exception dans le pare-feu windows : ici ouverture du port 136 en TCP seulement vers le se3 (172.16.0.2)
netsh firewall show portopening | find "SE3_136" 2>NUL & if not errorlevel == 1 goto suitefirewallse3
netsh firewall add portopening protocol = TCP port=136 name = SE3_136 mode = ENABLE scope = CUSTOM addresses = 172.16.0.2/255.255.255.255 profile = ALL
:suitefirewallse3
:: Remontée immédiate de tous les rapports OCS inventory
@echo off
if exist %Z%\wpkg\initvars_se3.bat (
call %Z%\wpkg\initvars_se3.bat
set LOGONSERVER=\\%SE3%
echo Le nom NETBIOS du SE3 est %SE3%
set OCSINI=%ProgramFiles%\OCS Inventory Agent\service.ini
if exist "%OCSINI%" (
 echo Fichier ini d'OCS present.
 net stop "OCS INVENTORY SERVICE" >NUL
 Copy "%OCSINI%" %systemdrive%\FILEOCSINI.TMP >NUL
 echo Modification du parametre TTO_WAIT pour remontee de l'inventaire dans 2 sec.
 type %systemdrive%\FILEOCSINI.TMP | Findstr /V /I "\<TTO_WAIT"  > "%OCSINI%"
 Del %systemdrive%\FILEOCSINI.TMP  >NUL
 echo TTO_WAIT=2 >> "%OCSINI%"
 echo Redemarrage du service OCS
 net start "OCS INVENTORY SERVICE" >NUL
 )
)
:: Lancer une commande uniquement sur les machines du parc DNCP  (DNCP1, DNCP2,...)
echo %computername% | find /I "DNCP" 1>NUL 2>NUL
if errorlevel 1 goto suitedncp
echo Commande lancee sur tous les postes dont le nom contient DNCP
commande au choix
:suitedncp

L'avantage de ce xml est de ne pas avoir à incrémenter le numéro de revision du unefois.xml, ni à l'ajouter dans l'interface à chaque mise à jour du script!! Son inconvénient est qu'il est impossible de savoir si tous les postes sont à jour en regardant le package unefois.xml dans l'interface (il sera toujours noté installé et à jour). Afin de savoir s'il a été appliqué, il suffit de regarder la date du dernier rapport d'un poste et de la comparer à votre dernière modification de unefois.bat... Si vous modifiez régulièrement unefois.bat, ce xml est très souple d'utilisation!




Créer un fichier uneFoisPerso.xml :

Dans le cas où le unefois.xml officiel ne vous convient pas, que vous souhaitez créer un xml qui ne rajoute aucun fichier, n'installe rien mais touche à la configuration des postes alors créer un fichier unefoisperso.xml :

<?xml version="1.0" encoding="UTF8"?>
<packages>
 <package id="unefoisperso" name="Script perso à exécuter une fois sur chaque machine" revision="1" reboot="false" priority="150" execute="once">
  <install cmd='%ComSpec% /c "%Z%\packages\unefoisperso.bat"'/>
  <upgrade cmd='%ComSpec% /c "%Z%\packages\unefoisperso.bat"'/>
  <remove cmd='%ComSpec% /c echo "un script remove peut etre prevu..."'/>
 </package>
</packages>

Ecrire le script Y:\unattended\install\packages\unefoisperso.bat puis "ajouter l'application" unefoisperso.xml dans l'interface : Applications Windows -> Ajouter une application. Cocher Ignorer le contrôle MD5 et indiquer le chemin vers le fichier uneFoisPerso.xml. Il ne reste plus qu'à associer l'application unefoisperso aux postes concernés.

A chaque mise à jour du script unefoisperso.bat, il faudra incrémenter le numéro de "revision"; ensuite, il faudra de nouveau "ajouter l'application" unefoisperso.xml nouvelle version dans l'interface.

Comment régler les ACL sur le système de fichier NTFS ?

Certains programmes (programmés avec les pieds) exigent de posséder les droits en écriture sur leur propre dossier d'installation. Dans ce cas, dans le script d'installation du programme, il faut donner le droit à "Tout le monde" d'écrire dans le dossier le question.

cacls.exe "%ProgramFiles%\Matrix Multimedia" /E /T /P "Tout le monde":C


Par ailleurs, il est aussi possible de limiter l'accès à un dossier local aux seuls adultes de l'établissement (par exemple) :

:: seuls les adultes peuvent utiliser Italc sur le poste prof (par exemple)
Call %Z%\wpkg\initvars_se3.bat
Set DOSSIER="c:\Program Files\iTALC"
echo Suppression des droits pour Utilisateurs
cacls %DOSSIER% /E /T /r Utilisateurs >NUL
echo Ajout des droits pour %DOMAINSE3%\Profs
cacls.exe %DOSSIER% /E /T /P "%DOMAINSE3%\Profs":R >NUL
echo Ajout des droits pour %DOMAINSE3%\Administratifs
cacls.exe %DOSSIER% /E /T /P "%DOMAINSE3%\Administratifs":R >NUL
echo Ajout des droits pour %DOMAINSE3%\admins
cacls.exe %DOSSIER% /E /T /P "%DOMAINSE3%\admins":F >NUL


Comment associer des extensions de fichier à des logiciels grâce à wpkg ?

Exemple des extensions .g2w et .g3w avec Geoplan et Geospace (merci à O. Lacroix), à adapter à votre cas :

Je me suis créé ça pour installer geoplan sur L:\ro\geoplan et déployer les associations de fichiers sur tout mon établissement via wpkg.... Le raccourci est bien évidemment placé dans le template base...

J'ai créé un fichier Y:\unattended\install\packages\associations\associations.bat. Je le lance par wpkg sur toutes les machines avec le fichier associations.xml rajouté dans l'interface...

Les fichiers suivent...


Fichier associations.xml:

<?xml version="1.0" encoding="UTF8"?>
<packages>
  <package id="Associations_fichiers" name="Associations des fichiers avec les programmes de L:" reboot="false" priority="100" revision="1" notify="false" execute="once">
      <check type="registry" condition="exists" path="HKEY_CLASSES_ROOT\g2w_auto_file"/>
      <install cmd='%ComSpec% /c %Z%\packages\windows\associations_fichiers.bat'/>
      <upgrade cmd='%ComSpec% /c %Z%\packages\windows\associations_fichiers.bat'/>    
      <remove cmd='%ComSpec% /c %Z%\packages\windows\associations_fichiers.bat UnInstall'/>
  </package>
</packages>


Fichier associations.bat :

@echo off
rem Fichier créant toutes les associations des logiciels présents sur L:\ro et rw et donc non installés localement...
If "%1"=="UnInstall" Goto UnInstall
echo Association des fichiers geoplan
reg.exe add "hkcr\.g2w" /ve /d g2w_auto_file /f
reg.exe add "hkcr\g2w_auto_file" /ve /d "Fichier Geoplan" /f
reg.exe add "hkcr\g2w_auto_file\shell\open\command" /ve /d "\"L:\ro\geoplan_geospace\GeoplanGeospace.exe\" \"%%1\"" /f
reg.exe add "hkcr\g2w_auto_file\DefaultIcon" /ve /d "\"L:\ro\geoplan_geospace\GeoplanGeospace.exe\"" /f
echo Association des fichiers geospace
reg.exe add "hkcr\.g3w" /ve /d g3w_auto_file /f
reg.exe add "hkcr\g3w_auto_file" /ve /d "Fichier Geospace" /f
reg.exe add "hkcr\g3w_auto_file\shell\open\command" /ve /d "\"L:\ro\geoplan_geospace\GeoplanGeospace.exe\" \"%%1\"" /f
reg.exe add "hkcr\g3w_auto_file\DefaultIcon" /ve /d "\"L:\ro\geoplan_geospace\GeoplanGeospace.exe\"" /f
Goto Done
:UnInstall
echo Suppression : Association des fichiers geoplan
reg.exe delete "hkcr\.g2w" /f
reg.exe delete "hkcr\g2w_auto_file" /f
echo Suppression : Association des fichiers geospace
reg.exe delete "hkcr\.g3w" /f
reg.exe delete "hkcr\g3w_auto_file" /f
:Done


Exécuter un script à chaque démarrage

A priori, il est inutile d'exécuter un script à chaque démarrage : une seule fois suffit.

Pour exécuter un script à chaque démarrage du poste, créer un fichier chaqueFois.xml :

ATTENTION : cela alourdit le démarrage de toutes les machines. A éviter si possible !

<?xml version="1.0" encoding="UTF8"?>
<packages>
 <package id="chaquefois" name="commande a lancer a chaque boot" revision="1" reboot="false" priority="101" execute="always">
  <install cmd='%ComSpec% /c "%Z%\packages\toujours.bat"'/>
  <remove cmd='%ComSpec% /c echo "un script remove peut etre prevu..."'/>
 </package>
</packages>

Rédiger le script Y:\unattended\install\packages\toujours.bat puis ajouter le chaquefois.xml dans l'interface SAMBAEDU3.

Comment interpréter une erreur MD5 dans l'interface ?

voici quelques explications sur le fonctionnement des paquets de déploiement (au format xml) du svn.

Lorsque l'on crée ou met à jour un xml :

  • on indique le fichier que l'on souhaite télécharger (par exemple) :
download url=http://download.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_15_active_x.exe
  • on indique où l'on souhaite l'enregistrer sur le serveur :
saveto="packages/adobe/install_flash_player_active_x.exe"
  • on indique enfin le contrôle de somme md5 qui permet d'être sûr que l'on télécharge bien le bon fichier :
md5sum="4707ed8992d0180bb78f521dcefa839c"

Lorsque que le fichier ou logiciel que l'on télécharge est mis à jour par son éditeur, le contrôle de somme "md5sum" change forcément, wpkg informe alors d'une erreur md5, car il va trouver une différence de somme md5 entre celle du fichier lui-même et celle renseigné dans le xml. Il faut alors mettre à jour le xml sur le svn, pour qu'il prenne en compte la nouvelle somme md5 du logiciel.

C'est le cas le plus courant de l'erreur MD5.

Pour contourner ce problème, et éviter de se retrouver bloqué notamment en cas d'installation d'un nouveau serveur, lorsque les conditions de la licence du logiciel le permettent (c'est le cas notamment pour Java), on héberge les fichiers directement sur le svn. Cela permet ainsi d'avoir une version toujours disponible, même si effectivement ce n'est pas la toute dernière version (on pourra de toute façon mettre à jour le xml par la suite).

Malheureusement, il y a des éditeurs qui n'autorisent pas cette redistribution, et qui comme Adobe mettent à jour très très régulièrement leurs logiciels, on a donc très très très régulièrement des erreurs md5 sur ces logiciels.

Concernant les problèmes qui peuvent être liés au cache (navigateur internet ou proxy), l'erreur md5 se produit lorsque le cache redistribue le fichier xml dont il dispose, au lieu de permettre le téléchargement de la nouvelle version du xml, le contrôle md5 ne se fait donc pas à ce moment-là avec la somme md5 du nouveau fichier, mais avec la somme md5 (md5sum) de l'ancien xml, et wpkg informe donc d'une erreur md5.

Méthodes pour résoudre ces problèmes :

Dans le premier cas, il faut modifier le xml sur le svn pour prendre en compte la mise à jour du logiciel. Dans ce cas, vous pouvez signaler le problème sur la liste de développement voire proposer un xml à jour afin qu'un membre de l'équipe mette à jour le svn.

Flashplayer a par exemple était mis à jour le 26/11. C'est pour cela que certains ont eu l'erreur jusqu'au 25/11, et qu'ils ne l'ont plus depuis le 26.


Dans le deuxième cas, lorsque vous avez confirmation que le xml est fonctionnel sur d'autres établissements, vous pouvez suivre les étapes suivantes :

  • Vider le cache du navigateur internet utilisé pour télécharger les mises à jour, puis retenter une mise à jour.
  • Forcer le proxy à toujours redistribuer les xml du svn au lieu de ceux qu'il a dans son cache.

Comment fabriquer un xml destiné à devenir officiellement déployé?

Il est possible de s'inspirer des nombreux fichiers xml déjà créés sur le SVN par les différents contributeurs : http://svn.tice.ac-caen.fr/svn/SambaEdu3/wpkg-packages/stable

ou de la documentation officielle de wpkg : http://wpkg.org/Packages.xml:French


Voici un fichier xml type commenté :

Le xml suivant n'est pas fonctionnel : les lignes n'ont pas forcément de cohérence entre elles. Il est là à titre d'exemple afin de montrer les nombreuses fonctionnalités des xml de l'installation d'applications.

Il s'agit d'un prototype qui permet de déployer correctement une application 32 bits sur des OS 32 et 64 bits, quelque soit l'OS : Windows XP, Vista, Windows 7 :

<?xml version="1.0" encoding="UTF8" ?> 
<packages>
  <package
      id="AlgoBox"
      name="Algobox : élaboration d'algorithmes"
      revision="3.1"
      reboot="false"
      priority="1"
      category="Mathématiques"
      lnk="AlgoBox.lnk">
      <variable name="PROGRAMFILES" value="%PROGRAMFILES%" architecture="x86"/>
      <variable name="PROGRAMFILES" value="%PROGRAMFILES(X86)%" architecture="x64"/>
      <variable name="ComSpec" value="%SystemRoot%\System32\cmd.exe" architecture="x86"/>
      <variable name="ComSpec" value="%SystemRoot%\SysWOW64\cmd.exe" architecture="x64"/>
      <variable name="CSCRIPT" value="%SystemRoot%\System32\cscript.exe" architecture="x86"/>
      <variable name="CSCRIPT" value="%SystemRoot%\SysWOW64\cscript.exe" architecture="x64"/>
      <variable name="AllUsersPrograms" value="%ALLUSERSPROFILE%\Menu Démarrer\Programmes" os="5\.\d\.\d{4}"/>
      <variable name="AllUsersPrograms" value="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs" os="6\.\d\.\d{4}"/>
      <variable name="AllUsersDesktop" value="%SystemDrive%\Documents and Settings\All Users\Bureau" os="5\.\d\.\d{4}"/>
      <variable name="AllUsersDesktop" value="%SystemDrive%\Users\Public\Desktop" os="6\.\d\.\d{4}"/>
      <depends package-id="jre"/>
      <download url="http://site.org/executable.exe" saveto="packages/prog/executable.exe" md5sum="d59f24b86431eeb25281bce"/>
      <delete file="packages/prog/vieilexecutable.exe"/>
      <check type="uninstall" condition="exists" path="Algobox" />
      <install include="remove" />
      <install cmd='%Z%\packages\prog\executable.exe /S' timeout="1800" />
      <install cmd='%ComSpec% /C copy /Y %Z%\packages\prog\fichier %programfiles%\prog\' />
      <upgrade include="install" />
      <downgrade include="upgrade" />
      <remove cmd='MsiExec.exe /X{90100000-0010-0000-0000-0000000FF1CE} /qn' >
           <exit code="1605" reboot="false"/>    
      </remove>
      <remove cmd='MsiExec.exe /X{90120000-0011-0000-0000-0000000FF1CE} /qn' >
           <exit code="1605" reboot="false"/>    
      </remove>
  </package>
</packages>

Les lignes définissant les variables ci-dessus permettent de tenir compte du fait que le programme 32 bits va peut-être être installé sur un OS 64 bits. Quand vous aurez compris la structure de base du xml ci-dessus, vous pourrez étudier les exemples suivants : ils permettent de déployer un programme dans sa version 32 bits ou 64 bits sur un OS correspondant : [USBdlm déployé en version 32 bits ou 64 bits en fonction de l'architecture], [UPHClean déployé uniquement sur des OS windows 2000-XP]. Tout le détail est documenté sur le site officiel : [[1]].

Commentaires:

- les lignes définissant les variables d'environnement %cmd%, %cscript% et %programfiles% permettent de déployer des programmes 32 bits à la fois sur des OS 32 et 64 bits en exécutant des lignes d'install, upgrade, remove communes comme le montre la commande d'upgrade ci-dessus. Elles sont à recopier au début de tous les xml déployant un programme 32 bits.

-id correspond au nom du package qui ne changera jamais. Aussi, par exemple, il ne faut pas mettre googleearth5 car, lors du passage à la version 6, googleearth6 serait considéré comme un autre programme. Préférer un identifiant (unique) simple: "Google Earth". Une exception : les xml 'msoffice2007pro' et apparentés car ces packages ne sont pas destinés à changer de version. Même si vous achetez des licences msoffice2079, peut-être n'en aurez vous pas pour tous vos postes: vous souhaiterez alors conserver ce package 'msoffice2007pro' et le nouveau 'msoffice2079'.

-name est un commentaire qui peut évoluer au fur et à mesure des versions il contient le nom long du programme et éventuellement le numéro de version.

-revision est un numéro de version comme 3.1.0. Le numéro 3.1.0 étant supérieur à 2.9.99. Préférez ce format à un simple entier que l'on incrémente au fur et à mesure des mises à jour. Cela permet aux testeurs de rattraper plus facilement le rythme des xml officiels.

-priority est un entier qui indique dans quel ordre les packages doivent être installés. L'installation débute par les numéros de priorité les plus élevés (choisir des numéros entre 1 et 10 pour de simples applications. Les numéros supérieurs sont à réserver aux actions systèmes urgentes).

-category est un nouvel attribut qui est exploité à partir de la version 2.0. Il permet de classer les raccourcis dans le menu Démarrer. Il permettra de classer les applications par catégorie dans une future interface. La liste des "category" est référencée ci-dessous (Voir "contraintes que doit respecter un xml officiel").

-lnk est un nouvel attribut qui est exploité à partir de la version 2.0. Il doit contenir le nom du fichier lnk ou du dossier créé dans le dossier "All Users\Menu Démarrer\Programmes" par le programme d'installation des lignes install et upgrade. Cela permet de ranger automatiquement le menu démarrer par "category". Si le programme ne crée aucun raccourci dans "All Users\Menu Démarrer\Programmes", "lnk" peut être omis.

-variable permet de définir des variables d'environnement uniquement valables lors de l'installation du xml en question. Telles qu'elles sont utilisées ci-dessus, elle permettent de gérer les exécutables 32 bits afin de les installer indifféremment sur des OS 32 ou 64 bits. Cela donne :

      <variable name="PROGRAMFILES" value="%PROGRAMFILES%" architecture="x86"/>
      <variable name="PROGRAMFILES" value="%PROGRAMFILES(X86)%" architecture="x64"/>
      <variable name="ComSpec" value="%SystemRoot%\System32\cmd.exe" architecture="x86"/>
      <variable name="ComSpec" value="%SystemRoot%\SysWOW64\cmd.exe" architecture="x64"/>
      <variable name="CSCRIPT" value="%SystemRoot%\System32\cscript.exe" architecture="x86"/>
      <variable name="CSCRIPT" value="%SystemRoot%\SysWOW64\cscript.exe" architecture="x64"/>

Les variables peuvent aussi être pratiques pour gérer les menus démarrer ou le bureau de All Users différents sous Windows 2000-XP par rapport à Vista-Windows 7 (indépendamment de l'architecture). Dans les commandes, il suffit alors d'utiliser les variables %AllUsersPrograms% et %AllUsersDesktop%, le xml sera alors valable sur tous les OS. Exemple (voir aussi la "gestion des raccourcis" ci-dessous) :

      <variable name="AllUsersPrograms" value="%ALLUSERSPROFILE%\Menu Démarrer\Programmes" os="5\.\d\.\d{4}"/>
      <variable name="AllUsersPrograms" value="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs" os="6\.\d\.\d{4}"/>
      <variable name="AllUsersDesktop" value="%SystemDrive%\Documents and Settings\All Users\Bureau" os="5\.\d\.\d{4}"/>
      <variable name="AllUsersDesktop" value="%SystemDrive%\Users\Public\Desktop" os="6\.\d\.\d{4}"/>

Remarque :

  • le code os="5\.\d\.\d{4}" correspond à windows 2000 et Windows XP. Le code os="6\.\d\.\d{4}" correspond à Vista, Windows 7 et Windows 8. Voir [ici] pour plus de renseignements.
  • pour les installations avec msiexec, aucune précaution particulière n'est nécessaire (32 ou 64 bits), msiexec se débrouille tout seul. Il suffit de mettre un check de type "uninstall" pour que cela fonctionne tout seul.

-depends permet d'établir une dépendance avec l'id d'un autre xml (typiquement, si votre programme nécessite java d'installé, la ligne ci-dessus permet d'installer automatiquement java sur les postes pour lesquels vous aurez coché votre xml.

-downloads permet de télécharger automatiquement l'exécutable, de le placer où il faut dans Y:\unattended\install\ et de vérifier sa somme md5. Si le programme du xml en cours de rédaction n'est pas librement téléchargeable, vous pouvez obliger l'administrateur à placer au préalable les fichiers au bon emplacement (afin d'éviter des erreurs) en spécifiant:

<download saveto="packages/ciel2008/Install/WGC/CLIENT/Install.exe"/>

Ainsi, l'interface wpkg, à l'ajout du xml, vérifiera la présence de ce fichier.

-delete correspond à des fichiers téléchargés lors de numéros de revision précédents et qui ne seraient plus utiles. Cela permet de libérer un peu de place sur tous les serveurs.

-check correspond au test que doit effectuer wpkg après avoir lancé les lignes d'install-upgrade pour savoir si celle-ci a réussi. Le type="uninstall" permet de faire un test sur ce qui est contenu dans "Ajout-Suppression de programmes". Pour connaître la chaîne exacte, quand le programme est installé sur un poste de tests, lancer la commande "regedit" et explorer "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", effectuer une recherche du mot "Algobox" (par exemple): vous y trouverez la valeur "DisplayName" qui constituera la valeur de "path" à inscrire dans la ligne check.

On peut aussi tester la présence d'un fichier :

<check type="file" condition="exists" path='"%ProgramFiles%\Microsoft Office\bin\winword.exe"'/>

Mieux, pour gérer les upgrade, il faut préférer tester la version d'un exécutable (se lit par un clic droit puis propriétés :

<check type="file" condition="versiongreaterorequal" path="%WinDir%\system32\Adobe\Shockwave 11\uninstaller.exe" value="11.5.0.600"/>

On peut aussi tester une clé de registre par son existence ou sa valeur :

<check type="registry" condition="exists" path="HKEY_CLASSES_ROOT\g2w_auto_file"/>
<check type="registry" condition="equals" path="HKLM\Software\Mozilla\Mozilla Firefox\CurrentVersion" value="1.5.0.6 (en-US)" />

On peut même créer plusieurs conditions qui doivent toutes être remplies :

<check type="logical" condition="and">
   <check type="file" condition="exists" path="%PROGRAMFILES%\Google\Google Earth\googleearth.exe"/>
   <check type="file" condition="versiongreaterorequal" path="%PROGRAMFILES%\Google\Google Earth\googleearth.exe" value="5.0.11337.1968"/>
</check>

- création de lignes d'install : si vous disposez d'un fichier d'installation msi, la commande ci-dessus fonctionnera idéalement:

<install cmd='msiexec.exe /I "%Z%\packages\prog\fichier.msi" /qn' timeout="1800" />

Sinon, si vous disposez d'un exécutable, tentez des lignes similaires à :

<install cmd='%Z%\packages\algobox\algoboxwin32_install.exe /S' timeout="1800"/>
ou
<install cmd='%Z%\packages\prog\executable.exe /verysilent /norestart' timeout="1800"/>

Vous pouvez trouver nombre de renseignements sur le site officiel de wpkg http://wpkg.org/Packages.xml:French ou sur le site http://www.winattended.com/switch_inst2.php .

Lorsque l'on enchaine plusieurs commandes d'install (ou d'upgrade), si on a besoin d'attendre la fin d'exécution d'une commande pour lancer une autre, on utilise start /WAIT: il faut alors mettre en première option un titre entre guillemets pour la commande start comme ceci:

<install cmd='%ComSpec% /C if Exist "%ProgramFiles%\VideoLAN\VLC\uninstall.exe" start "desinstall" /MIN /WAIT 
"%ProgramFiles%\VideoLAN\VLC\uninstall.exe"/S' timeout="1800"/>
<install cmd='%Z%\packages\vlc\vlc-1.0.5-win32.exe /S' timeout="1800"/>

Remarque : Le timeout (en secondes) est facultatif mais permet d'éviter de bloquer les installations du poste si une ligne échoue plus de x secondes (Par défaut, il est à 3600 secondes pour toute ligne de commande exécutée).


Certains installeurs ne peuvent pas être totalement automatisés car ils affichent des fenêtres à cliquer, des menus, nécessitent la saisie d'une clé de licence, etc... Dans ce cas, il est possible d'utiliser un script autoit générique alimenté par un fichier ini décrivant l'ensemble des actions à effectuer. Voir la section ci-dessous.


- création de lignes d'upgrade : pour mettre à jour un package d'une revision antérieure, il faut prévoir (et tester) des lignes d'upgrade. Elles peuvent être écrite à la façon des lignes d'install :

<upgrade cmd='%Z%\packages\vlc\vlc-1.0.5-win32.exe /S' timeout="1800"/>

Mais, le plus simple est, de désinstaller la (les) version(s) précédente(s) (si les lignes de remove gèrent toutes les revisions précédentes : voir ci-dessous) puis de répéter les commandes d'install. C'est ce qui est proposé dans le xml type ci-dessus avec les lignes :

      <install include="remove" />
      <upgrade include="install" />

- création de lignes de downgrade : elles permettent de retrograder un numéro de 'revision'. C'est notamment utile quand on passe d'un numéro de revision entier (301 pour la version 3.0.1) à un numéro de version classique du type 3.0.1. Le numéro 301 est égal à 301.0.0, donc, lors du passage à la révision 3.0.1, wpkg procèdera à un downgrade. Puisqu'en général, le downgrade ne sert qu'à ça, on peut ajouter au xml la ligne :

      <downgrade include="upgrade" />

- création de lignes remove : souvent, pour connaître la ligne de commande de désinstallation, quand le programme est installé sur un poste de tests, lancer la commande "regedit" et explorer "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", effectuer une recherche du mot "Algobox" (si tel est le nom du programme): vous trouverez la commande de désinstallation silencieuse dans la valeur "QuietUninstallString", il suffit de la recopier dans "<remove cmd='....'/>" ; sinon, utiliser "UninstallString" qui contient parfois une chaine du genre "MsiExec.exe /X{90120000-0011-0000-0000-0000000FF1CE}" (rajouter l'option /qn pour rendre la désinstallation silencieuse). Dans le cas d'autres commandes, tenter les options /S, /VERYSILENT,...

Exemple :

      <remove cmd='MsiExec.exe /X{90100000-0010-0000-0000-0000000FF1CE} /qn' >
           <exit code="1605" reboot="false"/>    <! -- DESINSTALLATION VERSION 1 -- >
      </remove>
      <remove cmd='MsiExec.exe /X{90120000-0011-0000-0000-0000000FF1CE} /qn' >
           <exit code="1605" reboot="false"/>    <! -- DESINSTALLATION VERSION 2, actuelle -- >
      </remove>

Dans les lignes de code ci-dessus, le commentaire "DESINSTALLATION VERSION N" peut être supprimé, ainsi que les balises qui l'entourent. Pour conserver des commentaires dans le xml, il faut supprimer les espaces entre "<!" et "--" ainsi qu'entre "--" et ">" (impossible de faire autrement sur le wiki).

Remarque : Le "exit code" 1605 correspond à un code d'erreur de msiexec signalant que le programme correspondant n'est pas installé. Rajouter la gestion de celui-ci dans le xml permet à wpkg de gérer cela comme n'étant pas une erreur. Il est normal qu'une seule version parmi les deux (ou plus) que l'on essaye de désinstaller soit présente. L'avantage d'une telle gestion des désinstallations et de simplifier les lignes d'upgrade (comme présenté ci-dessus).


- gestion des raccourcis :

Pour ne pas surcharger le bureau de nombreux raccourcis, on fait du ménage pour les programmes qui créent un raccourci sur le bureau (à condition d'avoir déclaré la variable %AllUsersDesktop% comme dans l'exemple ci-dessus):

<install cmd='%ComSpec% /c If Exist "%AllUsersDesktop%\wxMaxima.lnk" del /F /Q "%AllUsersDesktop%\wxMaxima.lnk"'/>

Pour des applications (codec,...) qui n'ont pas besoin de raccourcis dans le menu démarrer, vous pouvez utiliser la ligne suivante pour faire du ménage (à condition d'avoir déclaré la variable %AllUsersPrograms% comme dans l'exemple ci-dessus):

<install cmd='%ComSpec% /C if exist "%AllUsersPrograms%\K-Lite Codec Pack" rmdir /S /Q "%AllUsersPrograms%\K-Lite Codec Pack"'/>

Pour les installeurs qui ne créeraient pas de raccourci dans le Menu Démarrer de All Users, il faut alors le créer via une ligne de commande du xml. Exemple :

<install cmd='%ComSpec% /C %Z%\wpkg\tools\nircmd.exe shortcut "%ProgramFiles%\PhotoFiltre\PhotoFiltre.exe" "%AllUsersPrograms%" "PhotoFiltre"'/>

- classement automatique des raccourcis dans le menu démarrer :

Lors des installations-upgrades, de nombreux raccourcis venaient rendre illisibles le Menu Démarrer de "All Users". Pour effectuer le rangement des raccourcis automatiquement, il est impératif que les attributs "category" et "lnk" des xml soient bien renseignés. Cela provoquera le classement automatique des raccourcis créés par l'installation officielle dans un dossier portant le nom de la "category". Ci-dessous sont décrites les "category" officielles (dans les contraintes que doit respecter un xml officiel).

Exemple : Le xml d'algobox donné en exemple ci-dessus créera le raccourci "c:\Documents and Settins\All Users\Menu Démarrer\Programmes\Mathématiques\Algobox.lnk" car category="Mathématiques" et lnk="AlgoBox.lnk"

Si le classement par défaut ne vous plait pas. Avant de déployer le logiciel, créer un fichier Y:\unattended\install\packages\windows\PackagesCategory.txt de la forme suivante :

id;dossier
AlgoBox;Educatif\Math‚matiques
Google Earth;Internet

Le fichier précédent place les raccourcis du programme AlgoBox dans le sous-dossier Programmes\Educatif\Mathématiques et ceux du programme "Google Earth" dans le sous-dossier Programmes\Internet.


ATTENTION :

  • L'id est celui du package : il doit respecter la casse de l' "id" du xml. Le "dossier" indiqué est le répertoire de destination dans lequel seront classés les raccourcis (éviter les accents dans le nom du dossier où remplacer le "é" par "," , le "è" par "Š"...).
  • Si le fichier PackagesCategory.txt est complété pour un package donné après l'installation de celui-ci sur les postes, le classement personnalisé des raccourcis sera automatiquement répercuté lors de la prochaine 'revision' du xml.
  • Lors de la suppression d'un package du serveur, ne pas supprimer la référence à un package de Y:\unattended\install\packages\windows\PackagesCategory.txt tant que le xml n'a pas été désinstallé de tous les postes du domaine. Sinon, le raccourci ne sera pas supprimé du poste lors de la désinstallation.

Pour tester le xml créé

Pour ajouter cette application à la liste des applications disponibles dans l'interface web du se3,

Applications Windows -> Ajouter une application Cocher Ignorer le contrôle MD5 et indiquer le chemin vers le fichier algobox.xml.

Il ne reste plus qu'à associer l'application algobox aux postes concernés.

Contraintes que doit respecter un xml officiel

La démarche complète est documentée ci-dessus avec le xml et les attributs commentés.

Ne pas oublier les nouveaux attributs category et lnk (décrits ci-dessus), utilisés à partir de la version 2.0, qui doivent être présents dans tout xml nouveau ou mis à jour. Ainsi, l'attribut "category" doit correspondre à un des item suivants :

- Bureautique (ms Office, openoffice, infrarecorder, 7zip, pdfcreator, adobe reader...)

- Multimédia (logiciels vlc, zoomit, audacity, ...)

- Graphismes (logiciels gimp, xnview, irfanview, photofiltre, anmanie....)

- Système (deploiementimprimantes, popup,pstools, 7za, ...)

- Internet (Firefox, Safari, Flashplayer, java, pidgin, google earth,....)

- Mathématiques (mathgraph, lilimath, geoplangeospace, geogebra, xcas, algobox, sinequanon, scilab)

- Sciences physiques (optikos, tous les progs serge lagier, oscillo, dia, avimeca)

- SVT (phylocollege, stellarium, chroma, phyloboite...)

- Informatique (winscp, putty, tortoise, freemind, gobby, notepad++)

- Technologie-SI (solidworks, orcad demo, google sketchup, etoys, robotprogs,sweethome3D)

- STG (ciel,...)

- Français (conjugaison, ...)

- autres matières qui s'y ajouteraient...


Les raccourcis ne doivent pas rester sur le bureau sauf pour les suites bureautiques (libreoffice, openoffice, msoffice), les navigateurs (firefox, safari), les clients de messagerie (thunderbird) et le raccourci italc sur le poste professeur.

Tests élémentaires avant dépôt en "à tester" :

Toute personne souhaitant faire bénéficier la communauté de ses xml peut les communiquer sur la liste de diffusion se3-devel.

Avant de poster un xml, il est impératif de tester (au minimum) :

- la mise à jour, la désinstallation, puis l'installation.

- sur les OS : Windows XP 32bits, Windows Seven 32/64 bits et w10.

Merci de spécifier dans le commentaire du mail si ces tests ont été effectués (afin d'éviter de refaire plusieurs fois ceux-ci).

Comment installer n'importe quelle application quand toutes les autres méthodes ont échoué?

La plupart des installeurs actuels permettent d'effectuer des installations silencieuses comme décrit dans la section ci-dessus (fichiers msi, installation administrative, arguments /S, /SILENT). Dans le cas où l'installeur affiche des fenêtres à cliquer, des menus, nécessite la saisie d'une clé de licence, etc... Désormais, il est possible d'utiliser un script autoit générique alimenté par un fichier ini décrivant l'ensemble des actions à effectuer. Son utilisation est décrite ci-après.

L'idée est de procéder à une installation puis une désinstallation pas à pas en relevant tous les éléments nécessaires à l'autoit générique présent sur le serveur SAMBAEDU3.

Dans le cas où le xml nécessitera un autoit d'installation et de désinstallation, son allure sera la suivante :

<?xml version="1.0" encoding="UTF8"?>
<packages>
    <package id="dynamic" name="Dynamic v2.61" revision="2.61" reboot="false" priority="5" category="Sciences physiques" lnk="Dynamic.lnk" >
       <install cmd='%ComSpec% /c start "install" /wait %Z%\wpkg\autoit-auto.exe  %Z%\packages\dynamic\dynamic.ini' />
       <remove cmd='%ComSpec% /c start "install" /wait %Z%\wpkg\autoit-auto.exe  %Z%\packages\dynamic\dynamic-remove.ini' />
    </package>
</packages>

Remarque : Notez bien que ce xml n'est pas complet par soucis de simplification : il ne contient pas les variables génériques pour la gestion des OS 64 bits, ne contient pas de check, pas d'upgrade, pas de ligne de download... Le dynamic.xml présent sur le SVN est lui complet et peut servir de base pour la création d'un nouveau xml.

Les lignes d'install et remove ci-dessus font appel à un exécutable autoit-auto.exe présent sur tous les serveurs. Il suffit juste de fournir le bon fichier dynamic.ini pour lui indiquer les actions (clic sur un bouton, saisie d'une clé de licence,...) à effectuer. Ce fichier est organisé en sections, qui doivent toutes porter un nom différent (mais dont le nom peut être quelconque) et qui seront exécutées dans l'ordre d'apparition (peu importe leur nom)... Le principe de fonctionnement est une section = une action et le fichier peut ressembler à :

[section1]
run=%Z%\packages\dynamic\Setup_dyn261.exe
afterwait=10
[section2]
titre=
texte=
bouton=
timeout=60
[section3]
...

Pour savoir quoi compléter, il faut procéder à une installation manuelle en ayant au préalable installé l'ensemble des utilitaires autoit dont "Autoit Windows Info".

Pour exécuter un programme

Afin de lancer l'installeur, il est nécessaire de provoquer l'exécution d'un programme.

[section1]
run=%Z%\packages\dynamic\Setup_dyn261.exe

L'exécutable doit être placé au bon endroit grâce à un noeud download dans le xml :

<download url="http://dynamicfreeware.free.fr/Setup_dyn261.exe" saveto="packages/dynamic/Setup_dyn261.exe" md5sum="..." />

ATTENTION : l'autoit générique n'est pas encore prévu pour interpréter toutes les variables d'environnement qui pourraient lui être fournies. Il n'interprète que les deux variables suivantes en respectant la casse : %Z% et %ProgramFiles%. Toute autre utilisation de variable sera vouée à une non-exécution du programme puisque celle-ci ne sera pas interprétée. Pour une désinstallation, la commande suivante fonctionnera :

[section1]
run="%ProgramFiles%\Dynamic\Uninstal.exe"

Pour effectuer un clic sur un bouton, une case à cocher

Pour effectuer un clic sur un bouton, une case à cocher, le fichier ini doit comporter une section comme celle qui suit :

[section2]
titre=Installation de Dynamic 2.61
texte=&Suivant >
bouton=[CLASS:Button; INSTANCE:1]

Les renseignements fournis sont le "titre" de la fenêtre, le "texte" du bouton ou de la case à cocher, sa référence "Advanced Mode" à compléter dans "bouton". Ces informations peuvent être récupérées grâce à l'utilitaire "Autoit Windows Info" dont une copie d'écran est fournie ci-dessous. L'utilitaire permet de déplacer la mire "finder tool" sur le bouton de la fenêtre de l'installeur et de connaître toutes les informations à fournir (dans l'onglet "control"). Un double clic (sur "Advanced Mode" par exemple) permet de procéder par copier-coller vers un fichier ini en cours de préparation.

Autoit-auto.png

Pour saisir un texte, une clé de licence dans un champ

Pour saisir un texte, une clé de licence dans un champ, le fichier ini doit comporter une section comme celle qui suit :

[section3]
titre=Installation de Dynamic 2.61
bouton=[CLASS:Edit; INSTANCE:1]
key=1234567890

Ces informations peuvent être récupérées grâce à l'utilitaire "Autoit Windows Info" dont une copie d'écran est fournie ci-dessus. Le "titre" de la fenêtre est mis dans "titre", le "bouton" correspond à la référence "Advanced Mode" du champ dans lequel le texte va être écrit, le contenu de "key" est le texte à saisir : cela peut être un numéro de licence, le chemin vers un dossier d'installation (c:\program files\dynamic), etc...

Pour saisir un texte, une clé de licence dans plusieurs champs

Les clés de licence sont souvent à saisir dans plusieurs champs contigus correspondant à une seule référence de type "bouton" (Cf exemple ci-dessous : [CLASS:Edit; INSTANCE:1] obtenu pour tous les champs grâce à l'utilitaire "Autoit Windows Info"). Pour saisir une clé de licence dans plusieurs champs, le fichier ini doit comporter une section comme celle qui suit :

[section4]
titre=Installation de Dynamic 2.61
bouton=[CLASS:Edit; INSTANCE:1]
key=12345-67890-12345-67890
keymultizone=1

Le contenu de "key" est la clé de licence à saisir. Chaque tiret délimite le moment où autoit-auto.exe provoquera une tabulation pour passer à la zone suivante. La variable keymultizone doit valoir 1 pour que le tiret soit interprété : dans le cas contraire, la clé 12345-67890-12345-67890 serait saisie dans un unique champ.

Options faculatives

Pour forcer l'autoit générique à attendre 5 secondes après l'action exécutée dans la section, rajouter la ligne suivante dans la section :

afterwait=5

Pour ne pas bloquer complètement l'exécution de wpkg dans le cas où le fonctionnement prévu ne serait pas celui effectif, l'autoit générique est conçu pour sauter de section en section, au pire au bout de 900 secondes (15 minutes). Ce timeout est paramétrable est peut être réduit en ajoutant la ligne suivante dans chaque section (par exemple, pour un timeout de 3 minutes):

timeout=180

Causes classiques de dysfonctionnement

Sur le client

Wpkg ne s'exécute pas au démarrage, pourtant HKEY_LOCAL_MACHINE\SOFTWARE\WPKG est bien à "false".

Un lancement manuel (en tant qu'admin, raccourci "applications wpkg") fonctionne.

Solution :

1- Regarder si dans "panneau de configuration\taches planifiées", se trouve une tache wpkg.

S'il n'y en a pas ou que vous voulez forcer la réinstallation de celle-ci, il suffit de supprimer le fichier c:\windows\wpkg-client.vbs Le client sera ainsi réinstallé au prochain login d'un utilisateur.


2- Vérifier que la version 5.6 de Windows Script est bien installée. Pour cela, regarder s'il y a des fichiers .err dans \\se3\install\wpkg\rapports. La procédure à suivre est indiquée dans les fichiers en question.


3- Vérifier également que l'executable reg.exe est présent dans \\se3\install\wpkg\tools. Le copier si besoin à partir d'un XP en tant qu'admin.

4- Vérifier que adminse3 est un utilisateur valide dans le partage install dans /etc/samba/smb.conf

Créer un job CPAU permettant de supprimer le client wpkg-client.vbs

Si la suppression du client wpkg-client.vbs résout le problème mais que le nombre de postes concernés est important, il peut être judicieux de créer un job cpau qui automatisera cette tâche. Le client sera supprimé à la connexion d'un utilisateur et recréé au redémarrage suivant. Il conviendra de commenter ou supprimer l'appel de cette tâche dans le logon.bat une fois que tout sera rentré dans l'ordre pour éviter de ralentir les connexions sur les postes.


Pour créer ce job :

Suivre la procédure décrite dans le paragraphe précédent : [[2]]

Changer la définition de la variable %TASK%:

set TASK="%ComSpec% /C del /f /Q %WinDir%\wpkg-client.vbs"

Le nom du fichier JOB peut aussi etre changé :

set JOB=\\SE3\Progs\ro\delWpkgClient.job

Eventuellement, si les machines concernées sont disséminées sur plusieurs parcs il est possible de leur créer chacune un template (qui portera alors le nom du poste). On peut alors créer un logon.bat pour ces machines avec la ligne suivante :

\\SE3\Progs\install\installdll\CPAU.exe -dec -lwp -hide -cwd %SystemDrive%\ -file \\SE3\Progs\ro\delWpkgClient.job

toujours pour éviter de ralentir les connexion sur l'ensemble d'un parc.

Forcer une exécution manuelle de wpkg pour diagnostiquer un problème

Si l'origine d'un dysfonctionnement de wpkg sur un poste ne peut être déterminée, on peut lancer manuellement l'exécution, après avoir recréé l'environnement nécessaire à wpkg.

1) S'authentifier en tant qu'admin sur le poste.

2) Avec le gestionnaire de tâche, supprimer tous les process dont adminse3 est le propriétaire

3) Dans une fenêtre cmd (menu démarrer -> exécuter : cmd ) taper :

 runas /user:adminse3 cmd

et saisir le mot de passe du compte adminse3

4) dans la fenêtre cmd en tant qu'adminse3 taper :

    net use U: \\se3\install    (normalement aucun mot de passe ne doit être réclamé)
    set Z=U:

5) lancer le client wpkg pour qu'il installe ou désinstalle les applications demandées.

    cscript %Z%\wpkg\wpkg-se3.js /synchronize /nonotify /debug


et observer attentivement les éventuelles erreurs qui s'affichent.

Regarder aussi les dates de %WinDir%\wpkg.log et %WinDir%\wpkg.txt ainsi que leur contenu.

Ainsi, l'erreur devrait être localisée.

Tester un xml en l'exécutant manuellement

Après avoir créé l'environnement d'exécution comme indiqué dans le paragraphe précédent (point 1) 2) 3) et 4) ), on peut lancer l'installation ou la désinstallation d'une application qui a été ajoutée sur le serveur sans avoir à en faire la demande dans l'interface, sur le serveur.

Pour celà, dans la fenêtre cmd en tant qu'adminse3 taper :

Pour connaitre l'état d'une application (par ex openoffice) sur le poste :
    cscript %Z%\wpkg\wpkg-se3.js /debug /show:OpenOffice
Pour installer une application (par ex openoffice) sur le poste :
    cscript %Z%\wpkg\wpkg-se3.js /debug /install:OpenOffice
Pour désinstaller une application (par ex openoffice) sur le poste :
    cscript %Z%\wpkg\wpkg-se3.js /debug /remove:OpenOffice

D'autres commandes sont possibles :

    cscript %Z%\wpkg\wpkg-se3.js /help

Utilitaire permettant de diagnostiquer les dysfonctionnements des clients

Cet utilitaire de S. Boireau et J. Le Bail permet d'accéder rapidement :

- au contenu de C:\windows\wpkg.log

- au contenu de C:\windows\wpkg.txt

- contrôler la valeur de HKLM\...\running

- corriger cette valeur en false si nécessaire

- supprimer le C:\windows\wpkg-client.vbs pour qu'il soit réinstallé à la connexion suivante

Lien :

http://stephane.boireau.free.fr/informatique/se3/wpkg/verif_wpkg/verif_wpkg.exe



Sur le serveur

Parc du même nom qu'une machine

L'interface d'installation automatique d'applications Windows peut renvoyer des erreurs si un parc porte le même nom qu'une machine (cas par exemple d'un parc ne contenant qu'une seule machine). Ceci est donc à éviter. Si vous êtes dans ce cas, changer simplement le nom du parc, tout doit rentrer dans l'ordre.

Je ne vois qu'un parc dans l'interface

Le droit nécessaire pour gérer les postes est computers_is_admin. Avec ce droit, tous les onglets des parcs sont affichés. Sinon, on peut donner un droit à un utilisateur pour gérer un parc donné avec la délégation de parc : si la délégation est forte, l'utilisateur peut changer les applis à déployer sur les postes de ce parc, si la délégation est faible, il ne peut que voir les associations applis <-> postes.


se3_is_admin donne le droit de gérer le serveur se3 (pas les postes).

Composants logiciels nécessaires au fonctionnement de wpkg sur les clients

Le client wpkg a besoin de l'activeX Msxml2.DOMDocument.3.0 et de l'interprêteur de script : Windows Script 5.6 pour Windows XP

En cas de problème, mettre à jour internet explorer vers la version 6 avec windows update pour avoir tout le nécessaire.


Configuration de l'installation d'Open Office

"Le problème, c'est qu'à chaque mise à jour de open office, le dossier d'installation change, c'est passé de C:\Program Files\OpenOffice.org 2.1 à C:\Program Files\OpenOffice.org 2.2 à C:\Program Files\OpenOffice.org 2.3. Pareil pour le dossier de raccourcis qu'il crée (C:\OpenOffice.org2.1 etc.). Donc forcément, nos raccourcis à chaque mise à jour ne sont plus bons."


Le choix que j'ai fait pour l'installation d'OpenOffice est de conserver les choix par défaut...

Un administrateur qui souhaite modifier ces valeurs peut le faire dans le script d'installation d'OpenOffice.


Répertoire d'installation

Par exemple, la variable pour le répertoire d'installation d'OpenOffice se trouve dans :

\\SE3\install\packages\openoffice\OOo_2.3.bat

On trouve au début du fichier :

Set TargetDir=%ProgramFiles%\OpenOffice.org 2.3

Plus bas il y a :

:: Fichier de configuration a définir manuellement
If Exist "%Z%\packages\openoffice\ConfigOpenOffice.bat" Call "%Z%\packages\openoffice\ConfigOpenOffice.bat"

Ce fichier ConfigOpenOffice.bat n'existe pas par défaut. Il est là précisément pour qu'un admin puisse y définir le paramétrage qu'il souhaite.

Il suffit donc de créer un fichier

\\SE3\install\packages\openoffice\ConfigOpenOffice.bat

et d'y mettre :

Set TargetDir=%ProgramFiles%\OpenOffice

pour que OpenOffice soit toujours installé dans ce dossier.


Raccourcis

En ce qui concerne les raccourcis, j'ai choisi de ne placer sur le bureau que 2 raccourcis pour OpenOffice : Writer et Calc.

Pour démarrer les autres applis de la suite OO, il faut aller dans le menu démarrer.

Ceci peut bien sûr être changé. Il faut pour celà éditer le fichier

\\SE3\install\packages\openoffice\OOo_2.3.bat

Il y a un paragraphe :

:: Ajout des liens Writer et Calc sur le bureau
copy /B /Y "%ALLUSERSPROFILE%\Menu Démarrer\Programmes\OpenOffice.org 2.3\OpenOffice.org Writer.lnk" "%ALLUSERSPROFILE%\Bureau\Writer.lnk"
copy /B /Y "%ALLUSERSPROFILE%\Menu Démarrer\Programmes\OpenOffice.org 2.3\OpenOffice.org Calc.lnk" "%ALLUSERSPROFILE%\Bureau\Calc.lnk"

On peut y ajouter ce que l'on veut comme liens...



Extensions Open Office

Pour déployer sur les postes une extension OpenOffice en même temps que OpenOffice, il suffit d'ajouter une ligne dans \\SE3\install\packages\openoffice\OOo_2.3.bat

Une ligne correspondant au déploiement de l'extension TextToColumns figure déjà. Il suffit de s'en inspirer pour déployer Dmaths :

"%TargetDir%\program\unopkg.com" add -v --force --shared %Z%\packages\openoffice\DmathsAddon.oxt


Au préalable, télécharger :

http://www.dmaths.com/documentation/lib/exe/fetch.php?id=description%3Adl&cache=cache&media=description:dmaths310.zip

et après extraction, recopier le fichier DmathsAddon.oxt dans le répertoire :

\\SE3\install\packages\openoffice\



Numéro de version du xml

Pour que les postes sur lesquels OO2.3 a déjà été installé soit mis à jour après que le paramétrage de l'install a changé, il ne faut pas oublier d'incrémenter le n° de version (revision) dans le fichier openoffice.xml puis d'ajouter ce fichier xml ('Ajouter une application') en bas de la page : Fichier d'application à ajouter ...


Gestion des mises à jour Microsoft par WPKG

Cf. "Le module Déploiement d'applications avec wpkg" => "Mises à jour automatiques des logiciels Microsoft" ici : [[3]]

Où se trouvent les logs wpkg ?

Sur le serveur

Dans

/var/se3/unattended/install/wpkg/rapports/

Attention les noms des fichiers rapports (.txt et .log) ne doivent pas comporter de majuscules, si c'est le cas, remplacer les majuscules par des minuscules en renommant les fichiers.

Sur le poste client

Dans

%Windir%\wpkg.log

et

%Windir%\wpkg.txt

Ces deux fichiers sont remontés sur le serveur.

Le client utilise

%Windir%\system32\wpkg.xml


Comment supprimer des applications zombies ?

Le client tente par défaut de désinstaller les applications zombies (ayant disparu du serveur SE3). Si la désinstallation échoue, le client considérera malgré tout que l'application est désinstallée. Cela évite de relancer à chaque démarrage la désinstallation de cette application en exécutant des lignes manifestement non valides ! Pour ne pas supprimer par défaut les applications zombies, dans "Détail d'un poste", une option noforceremove est prévue pour cela.

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Support
Téléchargements
Développement
Outils logiciels
Boîte à outils