Anzeigen von XML-Inhalten in Anpassungsdateien des Office-Anpassungstools

Letzte Aktualisierung: Juni 2008

Betrifft: Office Resource Kit

 

Letztes Änderungsdatum des Themas: 2015-03-09

Administratoren verwenden das Office-Anpassungstool (OAT), um eine Installation von 2007 Microsoft Office System 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 den MSP-Dateien des OAT gespeicherten Einstellungen anzeigen können.

Übersicht über Windows Script Host

Verwenden Sie zum Ausführen des Skripts Microsoft Windows Script Host (WSH), einen sprachenunabhängigen Skripthost für Windows Script-kompatible Skriptmodule. WSH unterstützt die Ausführung von Skripts sowohl vom Windows-Desktop als auch von der Eingabeaufforderung.

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 an 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 2007 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 2007 OCT Metadata Extract utility" & _
        vbNewLine & " You must supply the location of the Office 2007 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 einfach die gewünschte MSP-Anpassungsdatei aus dem OAT auf das Skript ziehen und ablegen. Die XML-Metadaten werden von dem Skript im Ordner Temp des Benutzers unter dem Namen <Name des OAT-Patches>.xml extrahiert. Die XML-Datei wird dann zur Anzeige an Internet Explorer übergeben.

Ausführen des Skripts

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

  2. Ziehen Sie eine Kopie der MSP-Datei, 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 Datei metadata.xml enthält die in der MSP-Anpassungsdatei konfigurierten Benutzereinstellungen, und das <Options>-Element der Datei metadata.xml enthält Einstellungen im Zusammenhang mit dem Featurestatus.

Ausführen des Skripts mithilfe der Befehlszeile

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

  2. Geben Sie im Befehlsfenster 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 OPA-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. OPA-Dateien mit Office 2007-Einstellungen sind im Ordner Admin im Stamm des Office 2007-Quelldateiordners oder der Office 2007-CD gespeichert.

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

Abschnitt Beschreibung

<Customization 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 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 Microsoft Office Professional 2007 Plus verwendet. Nur Microsoft Office Access 2007 ist installiert, und das Standarddateiformat für Access, Access 2007, ist konfiguriert. Die Benutzereinstellung Standarddateiformat für Access befindet sich auf dem Bildschirm Benutzereinstellungen ändern des OAT im Knoten Microsoft Office Access 2007\Verschiedenes.

Verwenden Sie einen Text-Editor, z. B. Microsoft Editor, zum Öffnen der OPA-Einstellungsdatei für Access 2007, access12.opa (im Stammverzeichnis des Office 2007-Quelldateipfads im Ordner Admin). Suchen Sie nach der im OAT für die Benutzereinstellung Standarddateiformat angezeigten Zeichenfolge, Standarddateiformat. Sie gelangen zum folgenden Abschnitt der Datei access12.opa:

KEYNAME Software\Microsoft\Office\12.0\Access\Settings

PART !!L_Empty DROPDOWNLIST

VALUENAME "Default File Format"

ITEMLIST

NAME !!L_Access2007 VALUE NUMERIC 12 DEFAULT

NAME !!L_Access20022003 VALUE NUMERIC 10

END ITEMLIST

Anhand dieser Benutzereinstellungsinformationen können Sie den Registrierungsschlüssel für die Einstellung (in diesem Fall Software\Microsoft\Office\12.0\Access\Settings) und die möglichen Registrierungswerte bestimmen. Ein Wert von 12 für Standarddateiformat legt das Standarddateiformat auf Access 2007 fest, während ein Wert von 10 für Standarddateiformat das Standarddateiformat auf Access 2002-2003 festlegt.

Nachdem Sie diese Informationen der Datei access12.opa entnommen haben, können Sie die Anpassungsdatei metadata.xml nach dem gewünschten Registrierungsschlüssel oder -wert durchsuchen, z. B. Software\Microsoft\Office\12.0\Access\Settings. In diesem Beispiel würden Sie dadurch in den folgenden Abschnitt der Datei metadata.xml gelangen:

<AddRegistries>

<AddRegistry root="HKCU" key="Software\Microsoft\Office\12.0\Access\Settings" name="Default File Format" emptykey="false" flags="0" type="0" value="12" guid="{2A044E97-7BB1-4644-BF84-A35A5B2E5D51}" />

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

Nachfolgend sehen Sie einen Auszug aus dem Abschnitt <Options> der XML-Datei in diesem Beispiel:

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

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

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

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

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

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

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

<Option id="EXCELFiles" installState="1" />

.

.

<Option id="OUTLOOKFiles" installState="1" />

.

.

<Option id="PPTFiles" installState="1" />

Weitere Informationen zu OptionState-IDs finden Sie im Abschnitt OptionState-Element des Artikels "Config.xml" in 2007 Office System.