<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v3" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" copyright="Copyright (c) Microsoft Corporation. All Rights Reserved." manifestVersion="1.0">
  <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-OobeLdr-Instrumentation" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" version="6.3.9600.16384" versionScope="nonSxS"/>
  <registryKeys>
    <registryKey keyName="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger\Microsoft-Windows-Setup\{75EBC33E-8670-4eb6-B535-3B9D6BB222FD}">
      <registryValue name="Enabled" value="1" valueType="REG_DWORD"/>
      <registryValue name="EnableLevel" value="4" valueType="REG_DWORD"/>
    </registryKey>
    <registryKey keyName="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger\SetupPlatform\{75EBC33E-8670-4eb6-B535-3B9D6BB222FD}">
      <registryValue name="Enabled" value="1" valueType="REG_DWORD"/>
      <registryValue name="EnableLevel" value="4" valueType="REG_DWORD"/>
    </registryKey>
  </registryKeys>
  <instrumentation xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <events xmlns="http://schemas.microsoft.com/win/2004/08/events">
      <provider guid="{75EBC33E-8670-4eb6-B535-3B9D6BB222FD}" message="$(string.OobeLdr.ProviderMessage)" messageFileName="%SystemRoot%\system32\oobe\OobeLdr.exe" name="Microsoft-Windows-OobeLdr" resourceFileName="%SystemRoot%\system32\oobe\OobeLdr.exe" symbol="Microsoft_Windows_OobeLdr">
        <channels>
          <channel chid="chaOobeLdrAnalytic" name="Microsoft-Windows-OobeLdr/Analytic" type="Analytic"/>
          <importChannel chid="chaSetup" name="Setup"/>
        </channels>
        <keywords>
          <keyword mask="0x00000001" message="$(string.Performance.KeywordMessage)" name="keyPerformance"/>
          <keyword mask="0x00000002" message="$(string.Diagnostic.KeywordMessage)" name="keyDiagnostic"/>
        </keywords>
        <templates>
          <template tid="tidCommandLine">
            <data inType="win:UnicodeString" name="CommandLine"/>
          </template>
          <template tid="tidErrorCodeResult">
            <data inType="win:UInt32" name="ErrorCode"/>
          </template>
          <template tid="tidOobeLdrProcessUnattend">
            <data inType="win:UnicodeString" name="Pass"/>
          </template>
          <template tid="tidOobeLdrUsingUnattend">
            <data inType="win:UnicodeString" name="Pass"/>
            <data inType="win:UnicodeString" name="FilePath"/>
          </template>
        </templates>
        <tasks>
          <task eventGUID="{B85C8230-44B8-4cdb-8254-3763DFA4B07F}" message="$(string.RunOobeLdr.TaskMessage)" name="tskRunOobeLdr" value="1000"/>
          <task eventGUID="{D4BD14AD-2322-4199-BC76-F9A046B0B006}" message="$(string.OobeLdrProcessUnattend.TaskMessage)" name="tskOobeLdrProcessUnattend" value="2000"/>
          <task eventGUID="{82D8EFFF-FD94-4954-922C-54C3DF42B1ED}" message="$(string.LaunchOobe.TaskMessage)" name="tskLaunchOobe" value="3000"/>
        </tasks>
        <events>
          <event channel="chaOobeLdrAnalytic" keywords="keyPerformance" level="win:Informational" message="$(string.RunOobeLdr.StartMessage)" opcode="win:Start" symbol="RunOobeLdrStart" task="tskRunOobeLdr" template="tidCommandLine" value="1001"/>
          <event channel="chaOobeLdrAnalytic" keywords="keyPerformance" level="win:Informational" message="$(string.RunOobeLdr.StopMessage)" opcode="win:Stop" symbol="RunOobeLdrStop" task="tskRunOobeLdr" template="tidErrorCodeResult" value="1002"/>
          <event channel="chaOobeLdrAnalytic" keywords="keyPerformance" level="win:Informational" message="$(string.OobeLdrProcessUnattend.StartMessage)" opcode="win:Start" symbol="OobeLdrProcessUnattendStart" task="tskOobeLdrProcessUnattend" template="tidOobeLdrProcessUnattend" value="2001"/>
          <event channel="chaOobeLdrAnalytic" keywords="keyPerformance" level="win:Informational" message="$(string.OobeLdrProcessUnattend.StopMessageExecuted)" opcode="win:Stop" symbol="OobeLdrProcessUnattendStopExecuted" task="tskOobeLdrProcessUnattend" template="tidErrorCodeResult" value="2002"/>
          <event channel="chaOobeLdrAnalytic" keywords="keyPerformance" level="win:Informational" message="$(string.OobeLdrProcessUnattend.StopMessageFailedToExecute)" opcode="win:Stop" symbol="OobeLdrProcessUnattendStopFailedToExecute" task="tskOobeLdrProcessUnattend" template="tidErrorCodeResult" value="2003"/>
          <event channel="chaOobeLdrAnalytic" keywords="keyDiagnostic" level="win:Informational" message="$(string.OobeLdrProcessUnattend.UsingFile)" opcode="win:Info" symbol="OobeLdrProcessUnattendUsingFile" task="tskOobeLdrProcessUnattend" template="tidOobeLdrUsingUnattend" value="2004"/>
          <event channel="chaOobeLdrAnalytic" keywords="keyPerformance" level="win:Informational" message="$(string.LaunchOobe.StartMessage)" opcode="win:Start" symbol="LaunchOobeStart" task="tskLaunchOobe" value="3001"/>
          <event channel="chaOobeLdrAnalytic" keywords="keyPerformance" level="win:Informational" message="$(string.LaunchOobe.StopMessage)" opcode="win:Stop" symbol="LaunchOobeStop" task="tskLaunchOobe" template="tidErrorCodeResult" value="3002"/>
        </events>
      </provider>
    </events>
  </instrumentation>
  <localization>
    <resources culture="en-US">
      <stringTable>
        <string id="Performance.KeywordMessage" value="Performance"/>
        <string id="Diagnostic.KeywordMessage" value="Diagnostic"/>
        <string id="OobeLdr.ProviderMessage" value="Microsoft-Windows-OobeLdr"/>
        <string id="RunOobeLdr.TaskMessage" value="Run OobeLdr"/>
        <string id="RunOobeLdr.StartMessage" value="OobeLdr.exe is running with command line &quot;%1&quot;."/>
        <string id="RunOobeLdr.StopMessage" value="OobeLdr.exe exiting with status %1."/>
        <string id="OobeLdrProcessUnattend.TaskMessage" value="OobeLdr Process Unattend"/>
        <string id="OobeLdrProcessUnattend.StartMessage" value="Executing unattend settings pass &quot;%1&quot;."/>
        <string id="OobeLdrProcessUnattend.StopMessageExecuted" value="Finished executing unattend pass with status %1."/>
        <string id="OobeLdrProcessUnattend.StopMessageFailedToExecute" value="Failed to execute unattend pass with status %1."/>
        <string id="OobeLdrProcessUnattend.UsingFile" value="Using unattend file &quot;%2&quot; for pass &quot;%1&quot;."/>
        <string id="LaunchOobe.TaskMessage" value="Launch Oobe"/>
        <string id="LaunchOobe.StartMessage" value="Launching Oobe."/>
        <string id="LaunchOobe.StopMessage" value="Oobe exited with status %1."/>
      </stringTable>
    </resources>
  </localization>
  <cbb:debuggingInfo xmlns:cbb="urn:schemas-microsoft-com:asm.internal.v1">
    <cbb:sourceManifest sourcePath="%basedir%\base\ntsetup\opktools\oobeldr\src\microsoft-windows-oobeldr-instrumentation.man"/>
  </cbb:debuggingInfo>
</assembly>