Share via


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

Comments

  • Anonymous
    October 01, 2007
    PingBack from http://msdnrss.thecoderblogs.com/2007/10/01/ajouter-un-pack-de-langue-windows-vista-et-office-2007-par-script/

  • Anonymous
    October 09, 2007
    Merci pour ces infos, j'ai essaye d'installer le pack langue japonais par la voie normale, mais j'ai une erreur pendant l'install :/ et apparament je suis pas le seul a avoir ce soucis. La methode que tu decris permet-elle d'afficher dans la liste des displayed language, la langue installée avec le lpksetup ?

  • Anonymous
    October 09, 2007
    The comment has been removed

  • Anonymous
    October 17, 2007
    using a relative path does not work for me:   "/p .Italian" lpksetup exits without an error or message. only an absolute path works.

  • Anonymous
    October 21, 2007
    Thanks for that Paul, Actually, I replaced in my blog post the absolute path I used because it was way too long to fit in the blog template :)

  • Anonymous
    March 15, 2008
    Salut, je viens de lire ton tuto, mais une question me taraude l'esprit : où télécharges-tu tes packs de langues, car je n'ai pas trouvé de pack de langue sur la plateforme de téléchargement de windows.

  • Anonymous
    June 12, 2008
    Olivier, les packs de langue sont disponibles en téléchargement sur les sites MSDN, Technet si tu es abonné ou sur MVLS si ton entreprise dispose d'un accord de licence en volume qui inclue Vista et les packs de langue