Anzeigen von XML-Inhalten in Anpassungsdateien des Office-Anpassungstools

 

Gilt für: Office 2010

Letztes Änderungsdatum des Themas: 2015-03-09

Administratoren verwenden das Office-Anpassungstool (OAT), um eine Installation von Microsoft Office 2010 anzupassen. Die Anpassungen werden in einer Setupanpassungsdatei (MSP-Datei) im XML-Format (Extensible Markup Language) gespeichert. Dieser Artikel enthält ein Microsoft Visual Basic-Beispielskript, mit dem Administratoren die in MSP-Setupanpassungsdateien gespeicherten Einstellungen anzeigen können.

Inhalt dieses Artikels:

  • Übersicht über Windows Script Host

  • Beispielskript "ExtractOctXml.vbs"

  • Ausführen des Skripts

  • Anzeigen der XML-Inhalte einer MSP-Anpassungsdatei

Übersicht über Windows Script Host

Verwenden Sie zum Ausführen des Skripts Windows Script Host (WSH), einen sprachenunabhängigen Skripthost für Windows Script-kompatible Skriptmodule. Mit WSH können Sie Skripts sowohl auf dem Windows-Desktop als auch von der Eingabeaufforderung aus ausführen.

Zum Ausführen von Skripts von Windows stellt WScript.exe ein Windows-basiertes Dialogfeld zum Festlegen von Skripteigenschaften bereit. Zum Ausführen von Skripts von der Eingabeaufforderung stellt CScript.exe Befehlszeilenoptionen zum Festlegen von Skripteigenschaften zur Verfügung.

WSH bietet Drag & Drop-Unterstützung für Skripts. Das bedeutet, dass Sie Dateien auf ein WSH-Skript ziehen können. Die Dateinamen werden in der Befehlszeile in Argumente übersetzt.

Weitere Informationen zu WSH finden Sie in den folgenden Ressourcen auf der MSDN-Website:

Beispielskript "ExtractOctXml.vbs"

In den folgenden Abschnitten finden Sie das Visual Basic-Beispielskript ExtractOctXml.vbs und Anweisungen zur Verwendung des Skripts zum Extrahieren von XML-Metadaten aus MSP-Anpassungsdateien des OAT.

Zum Speichern des Beispielskripts öffnen Sie einen Text-Editor, z. B. Microsoft Editor. Kopieren Sie den Skriptcode in diesem Abschnitt, und fügen Sie ihn in eine Datei ein. Speichern Sie die Skriptdatei unter 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

Ausführen des Skripts

Die Datei ExtractOctXml.vbs kann in einem beliebigen Ordner auf dem Computer gespeichert werden. Sie können das Skript ExtractOctXml.vbs verwenden, indem Sie die gewünschte MSP-Anpassungsdatei aus dem OAT, für die Sie die konfigurierten Einstellungen anzeigen möchten, auf das Skript ziehen und ablegen. Die XML-Metadaten werden von dem Skript im Ordner Temp des Benutzers unter dem Namen <Name des OAT-Updates>.xml extrahiert (z. B. Access.MSP.xml). Die XML-Datei wird dann zur Anzeige an Internet Explorer übergeben.

So führen Sie das Skript aus

  1. Öffnen Sie den Ordner mit der Datei ExtractOctXml.vbs in Windows Explorer.

  2. Ziehen Sie eine Kopie der MSP-Setupanpassungsdatei, die Sie anzeigen möchten, auf die Datei ExtractOctXml.vbs, die im Windows Explorer-Fenster angezeigt wird.

  3. Wenn die XML-Datei geöffnet ist, können Sie die verschiedenen Abschnitte erweitern und reduzieren, um die Einstellungen in der MSP-Anpassungsdatei anzuzeigen.

    Das <UserSettings>-Element der metadata.xml-Datei Access.MSP.xml enthält die in der MSP-Anpassungsdatei konfigurierten Benutzereinstellungen, und das <Options>-Element der Datei Access.MSP.xml enthält Einstellungen im Zusammenhang mit dem Featurestatus.

So führen Sie das Skript mithilfe der Befehlszeile aus

  1. Klicken Sie im Startmenü auf Ausführen, und geben Sie cmd ein.

  2. Geben Sie im Eingabeaufforderungsfenster Folgendes ein:

    cscript <Skriptpfad> \ExtractOCTXml.vbs <Pfad und Dateiname der MSP-Datei des OAT>

    - oder -

    wscript <Skriptpfad> \ExtractOCTXml.vbs <Pfad und Dateiname der MSP-Datei des OAT>

    Die XML-Datei wird zur Anzeige in Internet Explorer geladen.

Anzeigen der XML-Inhalte einer MSP-Anpassungsdatei

Mithilfe von OPAX-Einstellungsdateien wird die Benutzeroberfläche Benutzereinstellungen ändern im OAT aufgefüllt und werden während der Installation die richtigen Registrierungsschlüssel und -werte hinzugefügt. OPAX-Dateien mit Office 2010-Einstellungen sind im Ordner Admin im Stammverzeichnis des Quelldateiordners bzw. der CD von Office 2010 gespeichert.

In der folgenden Tabelle werden die übergeordneten Abschnitte in der MSP-Datei metadata.xml beschrieben.

Abschnitt Beschreibung

<Customization platform - baseFolder>

Gibt den Namen und Pfad der MSP-Anpassungsdatei an. Diese Elemente werden intern vom Code verwendet. Sie stellen nicht die eigentlichen Anpassungen dar.

<Product id>

Enthält Informationen zu den lokalen Installationsquellenpaketen, zum Installationsstatus (z. B. Immer installiert), zu MUI-Sprachpaketen, Product IDs, Features und IDs, Verknüpfungen und aktualisierbaren Anwendungen.

Diese Elemente werden intern vom Code verwendet. Sie stellen nicht die eigentlichen Anpassungen dar.

<SecurityApps>

Führt die Anwendungen auf, für die spezifische Sicherheitsspeicherorte möglich sind, wie in der Dropdownliste im Bereich Setup\Office-Sicherheitseinstellungen\Der Liste vertrauenswürdiger Speicherorte die folgendenPfade hinzufügen im OAT angegeben.

Diese Elemente werden intern vom Code verwendet. Sie stellen nicht die eigentlichen Anpassungen dar.

<SecurityAppSettings>

Führt die Sicherheitseinstellungen auf, die im OAT im Bereich Setup\Office-Sicherheitseinstellungen angezeigt werden. Anpassungen an dieser Liste erscheinen weiter unten im <SecuritySettings>-Element.

Diese Elemente werden intern vom Code verwendet. Sie stellen nicht die eigentlichen Anpassungen dar.

<SecurityPossibleSettingValues>

Führt die Sicherheitsoptionen auf, die für <SecurityAppSettings> zur Verfügung stehen.

Diese Elemente werden intern vom Code verwendet. Sie stellen nicht die eigentlichen Anpassungen dar.

<GlobalSettings>

Stellt Informationen zu den Setup-Eigenschaften im Abschnitt Setup\Setup-Eigenschaften ändern des OAT bereit.

<UserSettings>

Enthält Informationen und Registrierungsschlüsseldaten zu sämtlichen Einstellungen, die im OAT im Abschnitt Features\Benutzereinstellungen ändern konfiguriert sind.

<File>

Enthält Informationen zu sämtlichen Dateien, die mithilfe der Optionen Zusätzliche Inhalte\Dateien hinzufügen oder Dateien entfernen im OAT hinzugefügt oder entfernt wurden.

<Registry>

Enthält Informationen zu sämtlichen Registrierungsschlüsseln, die mithilfe der Optionen Zusätzliche Inhalte\Registrierungseinträge hinzufügen oder Registrierungseinträge entfernen im OAT hinzugefügt oder entfernt wurden.

<Shortcuts>

Enthält Informationen zu Verknüpfungen, die mithilfe der Optionen Zusätzliche Inhalte\Verknüpfungen konfigurieren im OAT hinzugefügt wurden.

<Install>

Stellt Informationen zu den Installationseinstellungen in den Optionen Setup\Installationsspeicherort und Name der Organisation, Setup\Weitere Netzwerkquellen und Setup\Lizenzierung und Benutzeroberfläche im OAT bereit.

<ChildInstalls>

Enthält Informationen zu zusätzlichen Aktionen nach der Installation in den Optionen Einstellungen/Installationen hinzufügen und Programme ausführen im OAT.

<Options>

Enthält Einstellungen im Zusammenhang mit dem Anwendungsfeaturestatus.

<SecuritySettings>

Enthält Informationen zu Änderungen an den Standardsicherheitseinstellungen, die im OAT im Abschnitt Setup\Office-Sicherheitseinstellungen\Standardsicherheitseinstellungen vorgenommen wurden.

<SecurityTrustedLocations>

Stellt Informationen zu vertrauenswürdigen Speicherorten bereit, die über die Optionen Setup\Office-Sicherheitseinstellungen im OAT (unter Der Liste vertrauenswürdiger Speicherorte die folgenden Pfade hinzufügen) hinzugefügt wurden.

<SecurityCertificates>

Stellt Informationen zu Zertifikaten bereit, die über die Optionen Setup\Office-Sicherheitseinstellungen im OAT (unter Der Liste vertrauenswürdiger Herausgeber die folgenden digitalen Zertifikate hinzufügen) hinzugefügt wurden.

<Outlook>

Enthält Informationen zu Anpassungen am Outlook-Profil, die unter den Optionen für Outlook im OAT vorgenommen wurden.

Im folgenden Beispiel wird veranschaulicht, wie Einstellungen in der resultierenden XML-Datei (in diesem Beispiel Access.MSP.xml) gefunden werden, die in Internet Explorer geöffnet wird, wenn Sie das Skript ExtractOctXml.vbs für eine MSP-Anpassungsdatei des OAT ausführen.

Beispiel

In diesem Beispiel wird eine MSP-Anpassungsdatei aus Office 2010 verwendet. Nur Microsoft Access 2010 ist installiert, und das Microsoft Office Access 2007-Dateiformat ist aktiviert. Die Benutzereinstellung Standarddateiformat für Access befindet sich im Abschnitt Benutzereinstellungen ändern des OAT im Knoten Microsoft Office Access 2010\Verschiedenes.

Sie können die metadata.xml-Anpassungsdatei, Access.MSP.xml, nach dem Registrierungsschlüssel oder -wert durchsuchen, z. B. Standarddateiformat. Wenn Sie in diesem Beispiel nach "Standarddateiformat" suchen, würden Sie zum folgenden Abschnitt der metadata.xml-Datei Access.MSP.xml gelangen:

<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}" />

Verwenden Sie einen Text-Editor, z. B. Microsoft Editor, zum Öffnen der OPAX-Einstellungsdatei für Access 2010, access14.opax (im Stammverzeichnis des Office 2010-Quelldateipfads im Ordner Admin). Suchen Sie nach der Zeichenfolge DefaultFileFormat (die der Benutzereinstellung Standarddateiformat entspricht). Dadurch wird der folgende Abschnitt der Datei access14.opax angezeigt:

<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>

Anhand dieser Benutzereinstellungsinformationen können Sie den Registrierungsschlüssel für die Einstellung (in diesem Fall software\policies\microsoft\office\14.0\access\settings) und die möglichen Registrierungswerte bestimmen. Mit dem Wert 12 für Standarddateiformat wird das Standarddateiformat auf Access 2007 festgelegt, während mit dem Wert 10 für Standarddateiformat das Standarddateiformat auf Access 2002-2003 festlegt wird.

Anhand der Daten aus der OPAX-Datei können Sie sehen, dass der Schlüssel für Standarddateiformat den Wert 12 hat, wodurch das Standarddateiformat auf Access 2007 festgelegt wird.

Die nachfolgenden Auszüge enthalten einige Access-Werte für Option id, die im Abschnitt <Options> der Datei Access.MSP.xml aus diesem Beispiel aufgelistet sind:

<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" />

Weitere Informationen zu OptionState-IDs finden Sie im Abschnitt OptionState-Element unter Datei "Config.xml" in Office 2010.