Exibir conteúdo XML de arquivos de personalização da Ferramenta de Personalização do Office

Atualizado: junho de 2008

Aplica-se a: Office Resource Kit

 

Tópico modificado em: 2015-03-09

Os administradores usam a Ferramenta de Personalização do Office (OCT) para personalizar uma instalação do Microsoft Office 2007. As personalizações são salvas em um arquivo de personalização da instalação (arquivo MSP) que usa o formato XML. Este artigo fornece um exemplo de script do Microsoft Visual Basic que os administradores podem usar para exibir as configurações armazenadas nos arquivos MSP da OCT.

Visão geral do Windows Script Host

Para executar o script, use o Microsoft Windows Script Host (WSH), um host de scripts de linguagem independente para mecanismos de script compatíveis com o Windows Script. O WSH permite executar scripts na área de trabalho do Windows e no prompt de comando.

Para executar os scripts do Windows, o arquivo WScript.exe fornece uma caixa de diálogo do Windows para a definição das propriedades do script. Para executar no prompt de comando, o arquivo CScript.exe fornece opções de linha de comando para definir as propriedades do script.

O WSH oferece o suporte ao recurso de arrastar e soltar para scripts. Isso significa que você pode arrastar os arquivos em um script WSH. Os nomes de arquivo são convertidos em argumentos na linha de comando.

Para obter mais informações sobre o WSH, consulte os seguintes recursos no site do MSDN:

Exemplo de script ExtractOctXml.vbs

As seções a seguir fornecem um exemplo de script do Visual Basic, ExtractOctXml.vbs, e instruções de uso do script para extrair metadados XML dos arquivos de personalização MSP da OCT.

Para salvar o exemplo de script, abra um editor de texto, como o Bloco de Notas, e copie e cole em um arquivo o código de script desta seção. Salve o arquivo de script como 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

Execução do script

O arquivo ExtractOctXml.vbs pode ser armazenado em qualquer lugar de seu computador. Para usar o script ExtractOctXml.vbs, você pode simplesmente arrastar o arquivo de personalização MSP da OCT e soltá-lo no script. Os metadados XML são extraídos pelo script na pasta Temp do usuário como <nome do patch da OCT>.xml. O arquivo XML então é transmitido ao Internet Explorer para exibição.

Executar o script

  1. Use o Windows Explorer para abrir a pasta que contém o arquivo ExtractOctXml.vbs.

  2. Arraste e solte uma cópia do arquivo MSP desejado no arquivo ExtractOctXml.vbs exibido na janela do Windows Explorer.

  3. Depois que o arquivo XML for aberto, você poderá expandir e recolher as diversas seções para exibir as configurações contidas no arquivo de personalização MSP.

    O elemento <UserSettings> do arquivo metadata.xml contém as configurações do usuário definidas no arquivo de personalização MSP, enquanto o elemento <Options> do arquivo metadata.xml contém configurações relacionadas a estados de recursos.

Executar o script usando a linha de comando

  1. Clique em Iniciar, Executar e digite cmd.

  2. Na janela de comando, digite:

    cscript <caminho do script> \ExtractOCTXml.vbs <caminho e nome do arquivo MSP da OCT>

    -ou-

    wscript <caminho do script> \ExtractOCTXml.vbs <caminho e nome do arquivo MSP da OCT>

    O arquivo XML é carregado no Internet Explorer para exibição.

Exibição do conteúdo XML de um arquivo de personalização MSP

A OCT usa arquivos de configurações (OPA) para popular a interface do usuário Modificar configurações do usuário na OCT e adicionar as chaves e os valores apropriados do Registro durante a instalação. Os arquivos OPA de configurações do Office 2007 são armazenados na pasta Admin que está na raiz do CD ou do local do arquivo de origem do Office 2007.

A tabela a seguir descreve as seções de nível superior incluídas no arquivo MSP metadata.xml.

Seção Descrição

<Customization baseFolder>

Fornece o nome e o caminho do arquivo MSP de personalização. Esses elementos são usados internamente pelo código, e não representam as personalizações reais.

<Product id>

Fornece informações sobre pacotes de origem de instalação local, estado da instalação (como Instalar Sempre), pacotes de idiomas MUI, IDs de produtos, recursos e IDs, atalhos e aplicativos atualizáveis.

Esses elementos são usados internamente pelo código, e não representam as personalizações reais.

<SecurityApps>

Lista os aplicativos que podem ter locais de segurança específicos conforme indicado na lista suspensa encontrada na área Instalação\Configurações de segurança do OfficeAdicionar os seguintes caminhos à listaLocais Confiáveis na OCT.

Esses elementos são usados internamente pelo código, e não representam as personalizações reais.

<SecurityAppSettings>

Lista as configurações de segurança que aparecem na área Instalação\Configurações de segurança do Office na OCT. As personalizações para essa lista aparecem no elemento posterior <SecuritySettings>.

Esses elementos são usados internamente pelo código, e não representam as personalizações reais.

<SecurityPossibleSettingValues>

Lista as opções de segurança que estão disponíveis para <SecurityAppSettings>.

Esses elementos são usados internamente pelo código, e não representam as personalizações reais.

<GlobalSettings>

Fornece informações sobre as propriedades de instalação encontradas na seção Instalação\Modificar propriedades de instalação da OCT.

<UserSettings>

Fornece informações e dados de chave do Registro sobre qualquer configuração definida na seção Recursos\Modificar configurações do usuário da OCT.

<File>

Fornece informações sobre qualquer arquivo adicionado ou removido usando as opções Conteúdo adicional\Adicionar arquivos ou Remover arquivos na OCT.

<Registry>

Fornece informações sobre qualquer chave do Registro adicionada ou removida usando as opções Conteúdo adicional\Adicionar entradas do Registro ou Remover entradas do Registro na OCT.

<Shortcuts>

Fornece informações sobre atalhos adicionados usando as opções Conteúdo adicional\Configurar atalhos na OCT.

<Install>

Fornece informações sobre as configurações de instalação encontradas nas opções Instalação\Local da instalação e nome da organização, Instalação\Fontes de rede adicionais e Instalação\Licenciamento e interface do usuário na OCT.

<ChildInstalls>

Fornece informações sobre ações adicionais pós-instalação encontradas nas opções Instalação/Adicionar instalações e executar programas na OCT.

<Options>

Contém configurações relacionadas a estados de recursos de aplicativos.

<SecuritySettings>

Fornece informações sobre alterações feitas nas configurações de segurança padrão usando a seção Instalação\Seções de segurança do Office\Configurações de segurança padrão da OCT.

<SecurityTrustedLocations>

Fornece informações sobre locais confiáveis adicionados nas opções Instalação\Configurações de segurança do Office na OCT (em Adicionar os seguintes caminhos à lista de Locais Confiáveis).

<SecurityCertificates>

Fornece informações sobre certificados adicionados nas opções Instalação\Configurações de segurança do Office na OCT (em Adicionar os seguintes certificados digitais à lista de Editores Confiáveis).

<Outlook>

Fornece informações sobre personalização de Perfil do Outlook feita nas opções do Outlook da OCT.

O exemplo a seguir ilustra como localizar configurações no arquivo XML resultante que é aberto no Internet Explorer quando você executa o script ExtractOctXml.vbs com um arquivo MSP de personalização da OCT.

Exemplo

Esse exemplo usa um arquivo MSP de adição de personalização do Microsoft Office Professional 2007. Somente o Microsoft Office Access 2007 é instalado e o formato de arquivo padrão para Access, Access 2007, é configurado. A configuração de usuário Formato de arquivo padrão para o Access está no nó Microsoft Office Access 2007\Miscelânea da tela Modificar configurações do usuário na OCT.

Use um editor de texto, como o Bloco de Notas, para abrir o arquivo de configurações OPA do Access 2007, access12.opa (localizado na raiz do local do arquivo de origem do Office 2007, na pasta Admin). Procure na sequência de caracteres exibida na OCT a configuração de usuário Formato de arquivo padrão. Isso mostrará a seguinte seção do arquivo 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

Nessas informações de configuração do usuário, é possível determinar a chave do Registro da configuração (Software\Microsoft\Office\12.0\Access\Settings, nesse caso) e os valores possíveis do Registro. Um valor Default File Format igual a 12 define o formato de arquivo padrão como Access 2007, enquanto Default File Format igual a 10 o define como Access 2002-2003.

Depois de obter essas informações do arquivo access12.opa, você poderá pesquisar o arquivo metadata.xml de personalização em busca da chave ou do valor do Registro que você está procurando, como Software\Microsoft\Office\12.0\Access\Settings. Nesse exemplo, isso levaria você para a seguinte seção do arquivo metadata.xml:

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

Usando as informações do arquivo OPA, você pode ver que a chave Default File Format tem um valor igual a 12, que define o formato de arquivo padrão como Access 2007.

Segue um trecho de como deverá ser a aparência da seção <Options> do arquivo XML neste exemplo:

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

Para obter mais informações sobre identificações de estado de opção, consulte a seção Elemento OptionState do artigo Arquivo Config.xml no Office System 2007.