Afficher du contenu XML à partir des fichiers de personnalisation de l’outil de personnalisation Office

 

S’applique à : Office 2010

Dernière rubrique modifiée : 2016-11-29

Les administrateurs utilisent l’outil de personnalisation Office (OPO) pour personnaliser une installation d’Microsoft Office 2010. Les personnalisations sont enregistrées dans un fichier de personnalisation de l’installation (fichier .msp) qui utilise le format XML (Extensible Markup Language). Cet article contient un exemple de script Microsoft Visual Basic qui permet aux administrateurs d’afficher les paramètres stockés dans des fichiers .msp de personnalisation de l’installation.

Contenu de cet article :

  • Vue d'ensemble de l'environnement d'exécution de scripts WSH (Windows Script Host)

  • Exemple de script ExtractOctXml.vbs

  • Exécution du script

  • Affichage du contenu XML d’un fichier de personnalisation .msp

Vue d’ensemble de l’environnement d’exécution de scripts Windows

Pour exécuter le script, utilisez l’environnement d’exécution de scripts Windows, qui est un environnement d’exécution de scripts indépendant de la langue pour les moteurs de script compatibles avec les scripts Windows. L’environnement d’exécution de scripts Windows vous permet d’exécuter des scripts depuis le bureau Windows et depuis l’invite de commandes.

Pour l’exécution des scripts depuis Windows, WScript.exe fournit une boîte de dialogue Windows qui permet de définir les propriétés des scripts. Pour l’exécution des scripts depuis l’invite de commandes, CScript.exe fournit des commutateurs de ligne de commande qui permettent de définir les propriétés des scripts.

L’environnement d’exécution de scripts Windows prend en charge les opérations glisser-déplacer pour les scripts. Cela signifie que vous pouvez faire glisser les fichiers vers un script de l’environnement d’exécution de scripts Windows. Les noms de fichiers sont convertis en arguments sur la ligne de commande.

Pour plus d’informations sur l’environnement d’exécution de scripts Windows, voir les ressources suivantes sur le site Web MSDN :

Exemple de script ExtractOctXml.vbs

Les sections suivantes fournissent un exemple de script Visual Basic, ExtractOctXml.vbs, et des instructions indiquant comment utiliser le script pour extraire les métadonnées XML de fichiers de personnalisation .msp de l’Outil de personnalisation Office.

Pour enregistrer l’exemple de script, ouvrez un éditeur de texte tel que le Bloc-notes, puis copiez le code du script contenu dans cette section et collez-le dans un fichier. Enregistrez le fichier du script sous le nom ExtractOctXml.vbs.

' Utility to extract the metadata from an Office 2010 customization patch 
' For use with Windows Scripting Host, CScript.exe or WScript.exe
' Copyright (c) Microsoft Corporation. All rights reserved.
'
Option Explicit

Const msiOpenDatabaseModePatchFile = 32
Const msiOpenDatabaseModeReadOnly     = 0
Const msiReadStreamBytes = 1

Const ForWriting = 2
Const TristateTrue = -1

Dim pathOCT_Patch 'As String
Dim pathMetadataXml 'As String
Dim sMetadata 'As String
Dim wshShell 'As Wscript.Shell
Dim fso 'As FileSystemObject
Dim fileOutput 'As File
Dim sErrSection ' As String


sErrSection = "ArgCheck"
' Check arg count, and display help if argument not present or contains ?
Dim argCount:argCount = Wscript.Arguments.Count
If argCount > 0 Then If InStr(1, Wscript.Arguments(0), "?", vbTextCompare) > 0 Then argCount = 0
If (argCount = 0) Then
    Wscript.Echo "Office 2010 OCT Metadata Extract utility" & _
        vbNewLine & " You must supply the location of the Office 2010 customization patch " & _
        vbNewLine & _
        vbNewLine & "Copyright (C) Microsoft Corporation.  All rights reserved."
    Wscript.Quit 1
Else
    pathOCT_Patch = Trim(Wscript.Arguments(0))
End If


sErrSection = "FSO"
' Create FileSystemObject and verify file exists
Set fso = CreateObject("Scripting.FileSystemObject") : CheckError
If Not fso.FileExists(pathOCT_Patch) Then Err = 2 : CheckError


sErrSection = "WI"
' Connect to Windows Installer object
On Error Resume Next
Dim wi : Set wi = Nothing
Set wi = Wscript.CreateObject("WindowsInstaller.Installer") : CheckError


sErrSection = "Read Metadata"
' Open OCT patch and read the metadata stream
Dim wiStorage, vw, rec
Set wiStorage = wi.OpenDatabase(pathOCT_Patch, msiOpenDatabaseModePatchFile) : CheckError
Set vw = wiStorage.OpenView("SELECT * FROM _Streams WHERE `Name`='metadata' ") : CheckError
vw.Execute
Set rec = vw.Fetch
If Not rec Is Nothing Then
    sMetadata = rec.ReadStream(2, rec.DataSize(2), msiReadStreamBytes)
Else
    Wscript.Echo "No Metadata stream was found in this file: " & pathOCT_Patch
    Wscript.Quit 2
End If

Set wiStorage = Nothing
Set rec = Nothing: Set vw = Nothing
Set wi = Nothing


sErrSection = "Write Metadata"
' Write the metadata stream to a temp file
Set wshShell = CreateObject("WScript.Shell") : CheckError
pathMetadataXml = wshShell.ExpandEnvironmentStrings("%temp%") & "\" & fso.GetFileName(pathOCT_Patch) & ".xml"
Set fileOutput = fso.OpenTextFile(pathMetadataXml, ForWriting, True, -1) : CheckError
fileOutput.WriteLine sMetadata 
fileOutput.Close

Set fileOutput = Nothing: Set fso = Nothing

sErrSection = "Show Metadata"
' Launch Metadata in IE
wshShell.Run "iexplore.exe " & pathMetadataXml 

    
    
Sub CheckError
Dim sMsg, errRec
    If Err = 0 Then Exit Sub
    sMsg = sErrSection & vbNewLine & Err.Source & " " & Hex(Err) & ": " & Err.Description
    If Not wi Is Nothing Then
    Set errRec = wi.LastErrorRecord
        If Not errRec Is Nothing Then sMsg = sMsg & vbNewLine & errRec.FormatText
    End If
    Wscript.Echo sMsg
    Wscript.Quit 2
End Sub

Sub NoMetadata
End Sub

Exécution du script

Le fichier ExtractOctXml.vbs peut être stocké n’importe où sur votre ordinateur. Pour utiliser le script ExtractOctXml.vbs, vous pouvez faire glisser le fichier de personnalisation .msp de l’OPO pour lequel vous voulez afficher les paramètres configurés et le déposer sur le script. Le script extrait les métadonnées XML dans le dossier temporaire de l’utilisateur sous l’appellation <nom de la mise à jour de l’OPO>.xml (par exemple Access.MSP.xml). Le fichier XML est ensuite transmis à Internet Explorer pour être affiché.

Pour exécuter le script

  1. Utilisez l’Explorateur Windows pour ouvrir le dossier qui contient le fichier ExtractOctXml.vbs.

  2. Faites glisser et déposez une copie du fichier .msp de personnalisation de l’installation à afficher sur le fichier ExtractOctXml.vbs affiché dans la fenêtre de l’Explorateur Windows.

  3. Une fois le fichier XML ouvert, vous pouvez développer et réduire les différentes sections pour afficher les paramètres contenus dans le fichier de personnalisation .msp.

    L’élément <UserSettings> du fichier Access.MSP.xml metadata.xml contient les paramètres utilisateur configurés dans le fichier de personnalisation .msp, tandis que l’élément <Options> du fichier Access.MSP.xml metadata.xml contient les paramètres relatifs aux états des fonctionnalités.

Pour exécuter le script à l’aide de la ligne de commande

  1. Cliquez sur Démarrer, sur Exécuter, puis tapez cmd.

  2. Dans la fenêtre d’invite de commandes, tapez :

    cscript <chemin d’accès du script> \ExtractOCTXml.vbs <chemin d’accès et nom du fichier MSP de l’OPO>

    - ou -

    wscript <chemin d’accès du script> \ExtractOCTXml.vbs <chemin d’accès et nom du fichier MSP de l’OPO>

    Le fichier XML est chargé dans Internet Explorer en vue de son affichage.

Affichage du contenu XML d’un fichier de personnalisation .msp

L’OPO utilise des fichiers de paramètres (.opax) pour alimenter l’interface utilisateur Modifier les paramètres utilisateur dans l’OPO et ajouter les clés et les valeurs de Registre appropriées pendant l’installation. Les fichiers .opax de paramètres Office 2010 sont stockés dans le dossier Admin situé à la racine de votre CD-ROM ou à l’emplacement des fichiers source d’Office 2010.

Le tableau suivant décrit les sections de plus haut niveau du fichier metadata.xml .msp.

Section Description

<Customization platform - baseFolder>

Fournit les informations relatives au nom et au chemin d’accès du fichier de personnalisation .msp. Ces éléments sont utilisés de manière interne par le code. Ils ne représentent pas les personnalisations réelles.

<Product id>

Fournit les informations relatives aux packages sources d’installation locale, à l’état de l’installation (tel que Toujours installé), aux packages MUI de langue, aux ID de produits, aux fonctionnalités et ID, aux raccourcis et aux applications pouvant être mises à niveau.

Ces éléments sont utilisés de manière interne par le code. Ils ne représentent pas les personnalisations réelles.

<SecurityApps>

Recense les applications pouvant avoir des emplacements de sécurité spécifiques, comme indiqué dans la liste déroulante située dans la zone Installation\Paramètres de sécurité OfficeAjouter les chemins d’accès suivants à la liste Emplacements approuvésde l’OPO.

Ces éléments sont utilisés de manière interne par le code. Ils ne représentent pas les personnalisations réelles.

<SecurityAppSettings>

Recense les paramètres de sécurité qui apparaissent dans la zone Installation\Paramètres de sécurité Office de l’OPO. Les personnalisations apportées à cette liste apparaissent dans l’élément <SecuritySettings> décrit plus loin.

Ces éléments sont utilisés de manière interne par le code. Ils ne représentent pas les personnalisations réelles.

<SecurityPossibleSettingValues>

Recense les options de sécurité disponibles pour <SecurityAppSettings>.

Ces éléments sont utilisés de manière interne par le code. Ils ne représentent pas les personnalisations réelles.

<GlobalSettings>

Fournit les informations relatives aux propriétés d’installation indiquées dans la section Installation\Modifier les propriétés d’installation de l’OPO.

<UserSettings>

Fournit les informations et les données de clés de Registre relatives à tous les paramètres configurés dans la section Fonctionnalités\Modifier les paramètres utilisateur de l’OPO.

<File>

Fournit les informations relatives à tous les fichiers ajoutés ou supprimés à l’aide des options Contenu supplémentaire\Ajouter des fichiers ou Supprimer des fichiers de l’OPO.

<Registry>

Fournit les informations relatives à toutes les clés de Registre ajoutées ou supprimées à l’aide des options Contenu supplémentaire\Ajouter des entrées de Registre ou Supprimer des entrées de Registre de l’OPO.

<Shortcuts>

Fournit les informations relatives aux raccourcis ajoutés à l’aide des options Contenu supplémentaire\Configurer des raccourcis dans l’OPO.

<Install>

Fournit les informations relatives aux paramètres d’installation indiqués dans les options Installation\Emplacement d’installation et nom de l’organisation, Installation\Sources réseau supplémentaires et Installation\Licences et interface utilisateur dans l’OPO.

<ChildInstalls>

Fournit les informations relatives aux actions supplémentaires effectuées après l’installation et indiquées dans les options Installation/Ajouter des installations et exécuter des programmes de l’OPO.

<Options>

Contient les paramètres relatifs aux états de fonctionnalités de l’application.

<SecuritySettings>

Fournit les informations relatives aux modifications qui ont été apportées aux paramètres de sécurité par défaut à l’aide de la section Installation\Paramètres de sécurité Office\Paramètres de sécurité par défaut de l’OPO.

<SecurityTrustedLocations>

Fournit les informations relatives aux emplacements approuvés ajoutés aux options Installation\Paramètres de sécurité Office de l’OPO (dans Ajouter les chemins d’accès suivants à la liste Emplacements approuvés).

<SecurityCertificates>

Fournit les informations relatives aux certificats ajoutés aux options Installation\Paramètres de sécurité Office de l’OPO (dans Ajouter les certificats numériques suivants à la liste Éditeurs approuvés).

<Outlook>

Fournit les informations relatives à la personnalisation Profil d’Outlook réalisée dans les options Outlook de l’OPO.

L’exemple suivant montre comment rechercher des paramètres dans le fichier XML obtenu (dans cet exemple, Access.MSP.xml) qui s’ouvre dans Internet Explorer lorsque vous exécutez le script ExtractOctXml.vbs avec un fichier de personnalisation .msp de l’OPO.

Exemple

Cet exemple utilise un fichier de personnalisation .msp d’Office 2010. Seul Microsoft Access 2010 est installé et le format de fichier par défaut de Microsoft Office Access 2007 est activé. Le paramètre utilisateur Format de fichier par défaut pour Access se trouve dans le nœud Microsoft Office Access 2010\Divers de la section Modifier les paramètres utilisateur de l’OPO.

Vous pouvez rechercher dans le fichier metadata.xml de personnalisation Access.MSP.xml la clé ou la valeur de Registre, telle que Default file format. Une recherche de « default file format » dans cet exemple vous amènera à la section suivante du fichier Access.MSP.xml metadata.xml :

<AddRegistries>

<AddRegistry root="HKCU" key="software\microsoft\office\14.0\access\settings" name="default file format" emptykey="false" flags="0" type="2" value="12" guid="{39478C45-8DBA-403C-B4BB-1F1D07CE85D7}" />

Utilisez un éditeur de texte tel que le Bloc-notes pour ouvrir le fichier de paramètres .opax d’Access 2010, access14.opax (situé à la racine de votre emplacement des fichiers source d’Office 2010, dans le dossier Admin). Recherchez la chaîne DefaultFileFormat (qui correspond au paramètre utilisateur Format de fichier par défaut). Cette opération permet d’afficher la section suivante du fichier access14.opax :

<policy name="L_DefaultFileFormat" class="User" displayName="$(string.L_DefaultFileFormat)" explainText="$(string.L_DefaultFileFormatExplain)" presentation="$(presentation.L_DefaultFileFormat)" key="software\policies\microsoft\office\14.0\access\settings">

<parentCategory ref="L_Miscellaneous" />

<supportedOn ref="windows:SUPPORTED_WindowsVista" />

<elements>

<enum id="L_empty87" valueName="Default File Format">

<item displayName="$(string.L_Access2007)">

<value>

<decimal value="12" />

</value>

</item>

<item displayName="$(string.L_Access20022003)">

<value>

<decimal value="10" />

</value>

</item>

<item displayName="$(string.L_Access2000)">

<value>

<decimal value="9" />

</value>

</item>

</enum>

</elements>

</policy>

À partir de ces informations sur le paramètre utilisateur, vous pouvez déterminer la clé de Registre du paramètre (en l’occurrence, software\policies\microsoft\office\14.0\access\settings) et les valeurs de Registre possibles. Une valeur Default File Format égale à 12 définit le format de fichier par défaut à Access 2007, tandis qu’une valeur de 10 pour Default File Format définit le format de fichier par défaut à Access 2002-2003.

À l’aide des informations du fichier .opax, vous pouvez constater que la clé Default File Format a pour valeur 12, ce qui définit le format de fichier par défaut à Access 2007.

L’extrait suivant montre quelques valeurs Options id d’Access qui se trouvent dans la section <Options> du fichier Access.MSP.xml de cet exemple :

<Option id="ACCESSFiles" installState="3" />

<Option id="Access_PIA" installState="3" />

<Option id="AccessWizards" installState="3" />

<Option id="DeveloperWizards" installState="3" />

<Option id="AccessHelpFiles" installState="3" />

<Option id="AccessTemplatesIntl" installState="3" />

Pour plus d’informations sur les ID OptionState, voir Élément OptionState dans Fichier Config.xml dans Office 2010.