Office 사용자 지정 도구 사용자 지정 파일의 XML 콘텐츠 보기

업데이트 날짜: 2008년 6월

적용 대상: Office Resource Kit

 

마지막으로 수정된 항목: 2015-03-09

관리자는 OCT(Office 사용자 지정 도구)를 사용하여 2007 Microsoft Office 시스템의 설치를 사용자 지정합니다. 사용자 지정 내용은 XML(Extensible Markup Language) 형식을 사용하는 설치 사용자 지정 파일(MSP 파일)에 저장됩니다. 이 문서에는 관리자가 OCT MSP 파일에 저장된 설정을 보는 데 사용할 수 있는 예제 Microsoft Visual Basic 스크립트가 제공되어 있습니다.

Windows 스크립트 호스트 개요

스크립트를 실행하려면 언어에 독립적인 Windows 스크립트 호환 스크립팅 엔진용 스크립팅 호스트인 Microsoft WSH(Windows 스크립트 호스트)를 사용합니다. WSH를 사용하면 Windows 데스크톱 및 명령 프롬프트 둘 다에서 스크립트를 실행할 수 있습니다.

Windows에서 스크립트를 실행하도록 WScript.exe에서 스크립트 속성을 설정하는 Windows 기반 대화 상자를 제공합니다. 또한 명령 프롬프트에서 스크립트를 실행하도록 CScript.exe에서 스크립트 속성을 설정하는 명령줄 스위치를 제공합니다.

WSH에서는 스크립트에 대해 끌어서 놓기를 지원합니다. 즉, WSH 스크립트로 파일을 끌어다 놓을 수 있습니다. 이때 파일 이름은 명령줄의 인수로 변환됩니다.

WSH에 대한 자세한 내용은 MSDN 웹 사이트의 다음 리소스를 참조하십시오.

ExtractOctXml.vbs 스크립트 예제

다음 섹션에서는 예제 Visual Basic 스크립트인 ExtractOctXml.vbs를 제공하고 해당 스크립트를 사용하여 OCT MSP 사용자 지정 파일에서 XML 메타데이터를 추출하는 방법에 대한 지침을 설명합니다.

스크립트 예제를 저장하려면 메모장과 같은 텍스트 편집기를 열고 이 섹션의 스크립트 코드를 파일로 복사하여 붙여넣습니다. 스크립트 파일은 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

스크립트 실행

ExtractOctXml.vbs 파일은 사용 중인 컴퓨터의 어디에든 저장할 수 있습니다. ExtractOctXml.vbs 스크립트를 사용하려면 단지 OCT MSP 사용자 지정 파일을 끌어다 스크립트에 놓으면 됩니다. 이 스크립트는 <OCT 패치의 이름>.xml의 메타데이터 XML을 사용자의 Temp 폴더로 추출합니다. 그런 다음 이 XML 파일은 Internet Explorer로 전달되어 표시됩니다.

스크립트 실행

  1. Windows 탐색기를 사용하여 ExtractOctXml.vbs 파일이 포함된 폴더를 엽니다.

  2. 보려는 MSP 파일의 사본을 Windows 탐색기 창에 표시된 ExtractOctXml.vbs로 끌어다 놓습니다.

  3. XML 파일이 열리면 다양한 섹션을 확장하거나 축소하여 MSP 사용자 지정 파일에 포함된 설정을 볼 수 있습니다.

    metadata.xml 파일의 <UserSettings> 요소에는 MSP 사용자 지정 파일에 구성된 사용자 설정이 포함되고 metadata.xml 파일의 <Options> 요소에는 기능 상태와 관련된 설정이 포함됩니다.

명령줄을 사용한 스크립트 실행

  1. 시작을 클릭하고 실행을 클릭한 다음 cmd를 입력합니다.

  2. 명령 창에서 다음을 입력합니다.

    cscript <스크립트 경로> \ExtractOCTXml.vbs <OCT MSP 경로 및 파일 이름>

    -또는-

    wscript <스크립트 경로> \ExtractOCTXml.vbs <OCT MSP 경로 및 파일 이름>

    XML 파일이 Internet Explorer에 로드되어 표시됩니다.

MSP 사용자 지정 파일의 XML 콘텐츠 보기

OCT에서는 설치 중에 설정(OPA) 파일을 사용하여 OCT의 사용자 설정 수정 사용자 인터페이스를 채우고 적절한 레지스트리 키 및 값을 추가합니다. Office 2007 설정 OPA 파일은 Office 2007 원본 파일 위치 또는 CD의 루트에 있는 Admin 폴더에 저장됩니다.

다음 표에서는 MSP metadata.xml 파일에 포함된 최상위 섹션에 대해 설명합니다.

섹션 설명

<Customization baseFolder>

MSP 사용자 지정 파일 이름 및 경로 정보를 제공합니다. 이러한 요소는 내부적으로 코드에 의해 사용되며 실제 사용자 지정을 나타내지는 않습니다.

<Product id>

로컬 설치 소스 패키지, 설치 상태(예: 항상 설치), 언어 MUI 패키지, 제품 ID, 기능 및 ID, 바로 가기 및 업그레이드 가능한 응용 프로그램에 대한 정보를 제공합니다.

이러한 요소는 내부적으로 코드에 의해 사용되며 실제 사용자 지정을 나타내지는 않습니다.

<SecurityApps>

OCT의 설치\Office 보안 설정신뢰할 수 있는 위치 목록에다음 경로 추가 목록 영역에 있는 드롭다운 목록에 표시된 대로 특정 보안 위치를 가질 수 있는 응용 프로그램을 나열합니다.

이러한 요소는 내부적으로 코드에 의해 사용되며 실제 사용자 지정을 나타내지는 않습니다.

<SecurityAppSettings>

OCT의 설치\Office 보안 설정 영역에 표시되는 보안 설정을 나열합니다. 이 목록에 대한 사용자 지정 내용은 아래의 <SecuritySettings> 요소에 표시됩니다.

이러한 요소는 내부적으로 코드에 의해 사용되며 실제 사용자 지정을 나타내지는 않습니다.

<SecurityPossibleSettingValues>

<SecurityAppSettings>에 대해 사용 가능한 보안 옵션을 나열합니다.

이러한 요소는 내부적으로 코드에 의해 사용되며 실제 사용자 지정을 나타내지는 않습니다.

<GlobalSettings>

OCT의 설치\설치 속성 수정 섹션에 있는 설치 속성에 대한 정보를 제공합니다.

<UserSettings>

OCT의 기능\사용자 설정 수정 섹션에 구성된 모든 설정에 대한 정보 및 레지스트리 키 데이터를 제공합니다.

<File>

OCT의 추가 콘텐츠\파일 추가 또는 파일 제거 옵션을 사용하여 추가하거나 제거한 모든 파일에 대한 정보를 제공합니다.

<Registry>

OCT의 추가 콘텐츠\레지스트리 항목 추가 또는 레지스트리 항목 제거 옵션을 사용하여 추가하거나 제거한 모든 레지스트리 키에 대한 정보를 제공합니다.

<Shortcuts>

OCT의 추가 콘텐츠\바로 가기 구성 옵션을 사용하여 추가한 바로 가기에 대한 정보를 제공합니다.

<Install>

OCT의 설치\설치 위치 및 조직 이름, 설치\추가 네트워크 원본설치\라이선싱 및 사용자 인터페이스 옵션에 있는 설치 설정에 대한 정보를 제공합니다.

<ChildInstalls>

OCT의 설치/설치 추가 및 프로그램 실행 옵션에 있는 설치 후 추가 작업에 대한 정보를 제공합니다.

<Options>

응용 프로그램 기능 상태와 관련된 설정을 포함합니다.

<SecuritySettings>

OCT의 설치\Office 보안 설정\기본 보안 설정 섹션을 사용하여 기본 보안 설정에 적용한 변경 내용에 대한 정보를 제공합니다.

<SecurityTrustedLocations>

OCT의 설치\Office 보안 설정 옵션인 신뢰할 수 있는 위치 목록에 다음 경로 추가에 추가된 신뢰할 수 있는 위치에 대한 정보를 제공합니다.

<SecurityCertificates>

OCT의 설치\Office 보안 설정 옵션인 신뢰할 수 있는 게시자 목록에 다음 디지털 인증서 추가에 추가된 인증서에 대한 정보를 제공합니다.

<Outlook>

OCT의 Outlook 옵션으로 작성된 Outlook 프로필 사용자 지정에 대한 정보를 제공합니다.

다음 예제에서는 OCT MSP 사용자 지정 파일로 ExtractOctXml.vbs 스크립트를 실행할 때 Internet Explorer에서 열리는 결과 XML 파일에서 설정을 찾는 방법을 보여 줍니다.

예제

이 예제에서는 Microsoft Office Professional 2007 Plus MSP 사용자 지정 파일을 사용합니다. Microsoft Office Access 2007만 설치되고 Access 즉, Access 2007의 기본 파일 형식이 구성됩니다. Access의 기본 파일 형식 사용자 설정은 OCT의 사용자 설정 수정 화면에서 Microsoft Office Access 2007\기타 노드에 있습니다.

메모장과 같은 텍스트 편집기를 사용하여 Access 2007 OPA 설정 파일인 access12.opa를 엽니다. 이 파일은 Office 2007 원본 파일 위치 루트의 Admin 폴더에 있습니다. 기본 파일 형식 사용자 설정에 대해 OCT에 표시되는 문자열, Default file format을 검색합니다. 그렇게 하면 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

이 사용자 설정 정보에서 설정에 대한 레지스트리 키(이 경우, Software\Microsoft\Office\12.0\Access\Settings) 및 가능한 레지스트리 값을 확인할 수 있습니다. Default File Format 값 12는 기본 파일 형식을 Access 2007로 설정하고, Default File Format 값 10은 기본 파일 형식을 Access 2002 - 2003으로 설정합니다.

access12.opa 파일에서 이 정보를 가져온 후에는 사용자 지정 metadata.xml 파일에서 찾으려는 레지스트리 키 또는 값(예: Software\Microsoft\Office\12.0\Access\Settings)을 검색할 수 있습니다. 이 예제에서 그렇게 하면 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}" />

OPA 파일의 정보를 사용하여 Default File Format 키 값이 12라는 것을 알 수 있으며, 이 값에 따라 기본 파일 형식은 Access 2007로 설정됩니다.

다음은 이 예의 XML 파일에서 <Options> 섹션을 발췌한 부분입니다.

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

OptionState ID에 대한 자세한 내용은 2007 Office System의 Config.xml 파일 문서의 OptionState 요소 섹션을 참조하십시오.