MSDN Blog Postings

via RSS Feed

Windows Troubleshooting Platform meta-pack example

Posted by on April 2nd, 2010

Today I thought I’d briefly touch on a new troubleshooting concept– the meta-pack.  A meta-pack is a logical grouping of multiple Windows Troubleshooting Packs which can then be executed as one.  You can use a meta-pack to group similar troubleshooting tasks or to extend the functionality of an existing diagnostic without having to modify the original code.  For example, rather than build a new troubleshooting pack that addresses basic networking plus your configuration-specific root-causes you can create a meta-pack that includes the Windows 7 networking troubleshooter plus your configurations-specific troubleshooter, giving you the basic network troubleshooting for free.


I’ve attached a sample DiagCab file that illustrates this concept by combining the Windows 7 maintenance, audio, printer, and aero troubleshooters into one meta-pack.   


The contents of the DiagCab is quite simple.  It contains one file called “metapack.diagcfg” which defines the meta-pack.  The contents of the file is provided below.  Transforming this file into a meta-pack is simply a matter of cabbing up the file and changing the extension from “.cab” to “.diagcab”. 







<?xml version=”1.0″ encoding=”utf-8″?>


<PackageConfiguration xmlns=”http://www.microsoft.com/schemas/dcm/configuration/2008″>


    <Execution>


        <Package Path=”%windir%\diagnostics\scheduled\Maintenance”/>


        <Package Path=”%windir%\diagnostics\system\audio”/>


        <Package Path=”%windir%\diagnostics\system\printer”/>


        <Package Path=”%windir%\diagnostics\system\aero”/>


    </Execution>


</PackageConfiguration>


If you wanted to extend a Windows 7 Troubleshooting Pack then the XML and directory structure would look something like this.  Note that the first package entry points to a folder called “MyAppDiag”; this is the folder that contains your completed diagnostic, which must be included.  Cab the whole thing up, rename to .diagcab, and you’re ready to go!


Contents of .DiagCfg






<?xml version=”1.0″ encoding=”utf-8″?>


<PackageConfiguration xmlns=”http://www.microsoft.com/schemas/dcm/configuration/2008″>


    <Execution>


        <Package Path=”MyAppDiag”/>


        <Package Path=”%windir%\diagnostics\system\audio”/>


    </Execution>

</PackageConfiguration>


Directory Structure of .DiagCab







.\Metapack.diagcfg


.\MyAppDiag


.\MyAppDiag\DiagPackage.cat


.\MyAppDiag\MyAppDiag.diagpkg


.\MyAppDiag\*.ps1


-mb


This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.