====== WPKG ======
[[http://wpkg.org|WPKG]] est un outil de déploiement de logiciel pour les machines équipées d'un système d'exploitation de qualité douteuse Microsoft Windows. Il permet de simplifier l'installation, la mise à jour ou la suppression d'un grand nombre de programmes sur un parc de machines. Je vous invite à aller lire la [[http://wpkg.org/Documentation|documentation officielle]].
Cette page recense simplement les quelques logiciels que nous déployons. La plupart sont tirés des exemples disponibles sur le [[http://wpkg.org/Category:Silent_Installers|site officiel]], avec quelques modifications
===== Logiciels =====
* [[firefox|Mozilla Firefox]]
* [[thunderbird|Mozilla Thunderbird]]
* [[flash|Plugin Flash]]
* [[pdfcreator|PDFCreator]]
* [[gimp|The GIMP]]
* [[vlc|VLC]]
* [[7zip|7 Zip]]
* [[jre|Sun JRE]]
* [[ccleaner|CCleaner]]
* [[libreoffice|LibreOffice]]
* [[ntp|Configuration du client NTP]]
* [[tightvnc|TightVNC]]
* [[productkey|Product Key]]
* [[adobe_reader|Adobe Reader]]
* [[sumatrapdf|Sumatra PDF]]
* [[wpkg|WPKG Client]]
* [[zabbix_agent|Agent Zabbix]]
===== Mises à jour locales =====
Pour accélérer les mises à jour, il faut les exécuter en locale, et donc synchroniser le dépôt entier depuis un serveur central vers le poste, puis, détecter si il y a eu des changements depuis la dernière exécution, et si oui, lancer les mises à jour
Pour synchroniser, on peut le faire avec RobotCopy, depuis un point webdav.
mkdir %SystemDrive%\wpkg\
mkdir %SystemDrive%\wpkg\repository
mkdir %SystemDrive%\wpkg\status
Il faut d'abord augmenter la taille max des fichiers récupérés par webdav:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters]
"FileSizeLimitInBytes"=dword:ffffffff
@echo off
SET USER=deploiement
SET PASS=p@ssw0rd
SET REPO=https://sme.domain.tld/wpkg/
REM SET REPO=\\192.168.7.1\wpkg
echo %DATE% %TIME% > %SystemDrive\wpkg\status\sync_in_progress.txt
net use W: %REPO% /USER:%USER% %PASS%
robocopy /MIR /R:10 /LOG:%SystemDrive%\wpkg\status\sync_log.txt W:\ %SystemDrive%\wpkg\repository\
REM Fatal Error
if %ERRORLEVEL% EQU 16 goto cleanup
REM Copy done, with errors, mismatches and new files not copied
if %ERRORLEVEL% EQU 15 goto cleanup
REM Copy failed, with mismatches and new files not copied
if %ERRORLEVEL% EQU 14 goto cleanup
REM Copy done, with errors and mismatches
if %ERRORLEVEL% EQU 13 goto cleanup
REM Copy failed with mismatches
if %ERRORLEVEL% EQU 12 goto cleanup
REM Copy done with errors and new files not copied
if %ERRORLEVEL% EQU 11 goto cleanup
if %ERRORLEVEL% EQU 10 echo FAIL + XTRA & goto end
REM Copy done with errors
if %ERRORLEVEL% EQU 9 goto cleanup
REM Copy failed
if %ERRORLEVEL% EQU 8 goto cleanup
REM Copy done, with mismatches and new files not copied
if %ERRORLEVEL% EQU 7 goto cleanup
REM Mismatches and new files not copied
if %ERRORLEVEL% EQU 6 goto cleanup
REM Copy done with mismatches
if %ERRORLEVEL% EQU 5 goto cleanup
REM Mismatches
if %ERRORLEVEL% EQU 4 goto cleanup
REM Copy done, new files not copied
if %ERRORLEVEL% EQU 3 goto cleanup
REM New files not copied
if %ERRORLEVEL% EQU 2 goto cleanup
REM Copy done, we have new files, updates is required
if %ERRORLEVEL% EQU 1 goto exec
REM No error, nothing copied, no updates
if %ERRORLEVEL% EQU 0 goto cleanup
:exec
echo %DATE% %TIME% > %SystemDrive%\wpkg\status\updates_pending.txt
goto :EOF
:cleanup
del %SystemDrive\wpkg\status\sync_in_progress.txt
* Pour programmer la synchro toutes les 3 heures
schtasks.exe /Create /tn "sync_wpkg" /sc hourly /mo 3 /ru "SYSTEM" /tr "%SystemDrive%\bin\sync_wpkg.bat"