Ajouter un pack de langue Windows Vista et Office 2007 par script

 

Dernièrement, je me suis penché sur cette question pour un client. La demande est simple : 3 langues intégrées dans l'image WIM master (les langues les plus courantes chez mon client) et 1 langue à déployer, si besoin, après installation de la WIM.

Je me dis : "pas de soucis, je vais cloner les actions de BDD afin d'ajouter le pack de langue Windows Vista  avec pkgmgr dans l'unattend.xml". Mais je me rend compte tres vite que l'installation de la langue sur les postes de travail de mon client ne se résument pas à la simple installation du pack de langue Windows, il faut également personnaliser Office et Adobe Reader et la ... pkgmgr ne m'aide pas.

Alors plutot que de gérer l'ajout d'une langue supplémentaire dans plusieurs endroits différents, je décide de me lancer dans la confection d'un petit package SMS qui a enchainer silencieusement les installations et configurations nécessaires. Voila donc dans les quelques lignes qui vont suivre le fruit de ma reflexion :

  1. Installation du pack de langue Office 2007

    Tout d'abord, il est important de comprendre que l'installation d'un pack de langue Office nécessite une installation particulière au préalalable du produit complet. Pour cela, il faut appeller le setup.exe d'Office 2007 en faisant appel à un fichier de configuration : config.xml dans lequel on place l'information suivante :

    <Configuration Product="Standard">
        <AddLanguage Id="match" ShellTransform="Yes" />
    </Configuration>

    Une fois que l'installation a été faite de cette façon, l'affichage d'Office 2007 se fera (si possible) avec des menus et des boîtes de dialogue dans la même langue que celle de Windows Vista.

    L'installation du pack de langue se fait ensuite de la façon suivante (ici l'exemple pris est l'Italien) :

    cmd /c "start /wait .\setup.exe /config .\OMUI.IT-IT\config.xml"

  2. Installation du pack de langue Windows Vista

    Les packs de langue de Windows Vista se présentent sous la forme d'un fichier CAB d'environ 150 Mo. pour les installer, il faut utiliser la commande lpksetup de la manière suivante :

    cmd /c "start /wait lpksetup /i it-IT /r /p .\Italian"

    Dans l'exemple ci dessus j'ai crée un repertoire appellé "Italian" dans lequel j'ai placé le fichier lp.CAB seul.

    Mais la seule installation du pack de langue ne suffit pas, il faut ensuite configurer les regional settings pour faire du poste, un poste complètement Italien. Pour cela, Il est maintenant possible d'utiliser un fichier de configuration XML pour automatiser la configuration des regional settings. Voila la ligne de commande à utiliser :

    cmd /c "control intl.cpl,, /f:"".\Italian.xml"""

    et enfin, voici le contenu du fichier XML : Italian.xml :

    <gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">

    **    <gs:UserList>
            <gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true" />
        </gs:UserList>**

    **    <gs:UserLocale>
            <gs:Locale Name="it-IT" SetAsCurrent="true" />
        </gs:UserLocale>**

    **    <gs:LocationPreferences>
            <gs:GeoID Value="118" />
        </gs:LocationPreferences>**

    **    <gs:MUILanguagePreferences>
            <gs:MUILanguage Value="it-IT" />
            <gs:MUIFallback Value="en-US" />
        </gs:MUILanguagePreferences>**

    **    <gs:InputPreferences>
            <gs:InputLanguageID Action="add" ID="0410:00000410" Default="true" />
            <gs:InputLanguageID Action="remove" ID="0409:00000409" />
        </gs:InputPreferences>**

    **    <gs:SystemLocale Name="it-IT" />**

    </gs:GlobalizationServices>

Voila, en faisant un batch enchainant les 3 commandes (voire plus si vous avez d'autres logiciels a personnaliser) j'ai concocté un package SMS qui s'execute en phase state restore pour changer complètement la langue principale du poste. Pour rappel, voila à quoi ressemble mon batch :

cmd /c "start /wait lpksetup /i it-IT /r /p .\Italian"
cmd /c "start /wait .\setup.exe /config .\OMUI.IT-IT\config.xml"
cmd /c "control intl.cpl,, /f:"".\Italian.xml"""

à vos packs de langue !

PS : pour info, je constate un temps d'installation total d'environ 40 minutes pour ce batch