<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>WER Services</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/wer/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/wer/feed.xml</link>
    <description>This blog focuses on technologies that support Windows Error Reporting and Windows Quality data.</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:38:34 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Linking responses to failures</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/linking-responses-to-failures</link>
      <pubDate>Thu, 12 Sep 2013 13:56:34 GMT</pubDate>
      <dc:creator><![CDATA[gandhinath]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2013/09/12/linking-responses-to-failures/</guid>
      <description><![CDATA[This blog post will provide clarification on linking responses to failures.&#160; A previously...]]></description>
      <content:encoded><![CDATA[<p>This blog post will provide clarification on linking responses to failures.&#160; A previously posted blog <a href="http://blogs.msdn.com/b/wer/archive/2010/02/19/new-response-interface.aspx">article</a> provides a good introduction to responses and is a recommended read.</p>  <p>You can link a response to either a file or a failure. </p>  <ul>   <li>Associating a response to a file is accomplished through a link on the dashboard.</li> </ul>  <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/8640.image_1DAA8A38.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/8640.image_5F00_1DAA8A38.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/5047.image_thumb_394F162E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/5047.image_5F00_thumb_5F00_394F162E.png" width="695" height="511" /></a></p>  <ul>   <li>Associating a response to a failure is accomplished through your company reports.&#160; Please navigate to your company report (e.g.: Product Summary Report) and expand the failure node. The “Responses” will appear as the last column of the report. The following screen shot provides an example of the experience:</li> </ul>  <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/4442.image_19340971.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/4442.image_5F00_19340971.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/2308.image_thumb_4B2BA9FB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/2308.image_5F00_thumb_5F00_4B2BA9FB.png" width="704" height="281" /></a></p>  <p>The responses column can offer three options: a “Response Id” if the response is already linked to the failure, “Create Response” and “Not Applicable”. The “Create Response” option will only appear for a failure if there are enough cab files available (at least 5), and a strong relationship between the underlying client events and the failure.</p>  <p>If the failure do not meet the criteria, you will see a text that reads “Not applicable”. and you will not be able to link your response to this failure. Please click on the “Create Response” link to create and associate the response when the option is available.</p>  <p>&#160;</p>  <p>Thank you.</p>  <p><a href="mailto:wer@microsoft.com">WER</a> team</p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Dev Center Reports – Failures based on the faulting process</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/windows-dev-center-reports-failures-based-on-the-faulting-process</link>
      <pubDate>Wed, 26 Jun 2013 23:44:00 GMT</pubDate>
      <dc:creator><![CDATA[Katie_M]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2013/06/26/windows-dev-center-reports-failures-based-on-the-faulting-process/</guid>
      <description><![CDATA[In June 2013, the Dev Center reports were updated.&#160; Failures are now provided based on the...]]></description>
      <content:encoded><![CDATA[<p><font face="Segoe UI">In June 2013, the Dev Center reports were updated.&#160; Failures are now provided based on the faulty process, in addition to the faulting module which was used previously.&#160; These changes provide another level of granularity in determining which company should be notified for each failure.&#160; This update is beneficial for companies who use common and shared files.&#160; Below is a sample scenario to explain the updates.</font></p>  <p><font face="Segoe UI"></font></p>  <p><font size="4" face="Segoe UI">Sample Scenario:</font></p>  <ul>   <li><font face="Segoe UI">There are two products (Product 1 and Product2)</font> </li>    <li><font face="Segoe UI">Product 1 has mapped ProcessA.exe and ModuleA.dll</font> </li>    <li><font face="Segoe UI">Product 2 has mapped ProcessB.exe and ModuleA.dll, but indicated that ModuleA.dll is “Common/Shared” so only failures from their ProcessB.exe will be provided on their reports.</font> </li> </ul>  <p><font face="Segoe UI"></font></p>  <p><font face="Segoe UI"></font></p>  <p><font face="Segoe UI"></font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/4024.image_0B054314.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/4024.image_5F00_0B054314.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/7103.image_thumb_6D26BF12.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/7103.image_5F00_thumb_5F00_6D26BF12.png" width="858" height="261" /></a></p>  <p><font face="Segoe UI"></font></p>  <p><font face="Segoe UI"></font></p>  <p><font face="Segoe UI"></font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/4807.image_67D7D861.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/4807.image_5F00_67D7D861.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/7532.image_thumb_4516A0A4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/7532.image_5F00_thumb_5F00_4516A0A4.png" width="1245" height="560" /></a></p>  <p><font size="4" face="Segoe UI">Summary:</font></p>  <ul>   <li><font face="Segoe UI">If the faulty module and the faulty process are mapped to a product, then failure information is aggregated on the module</font> </li>    <li><font face="Segoe UI">If the faulty process is mapped but the faulty module is not, then failure information is aggregated on the process</font> </li>    <li><font face="Segoe UI">If the faulty process is mapped and the faulty module is mapped but the module is indicated to be “Common/Shared”, then failure information is aggregated on the process</font> </li> </ul>  <p><font size="4" face="Segoe UI">Conclusion:</font></p>  <ul>   <li><font face="Segoe UI">Reports for Product 1 prioritize the failures resulting from both ProcessA.exe and ModuleA.dll.</font> </li>    <li><font face="Segoe UI">Reports for Product 2 prioritize the failures resulting from only ProcessB.exe, removing additional noise and cabs from ProcessA.exe.</font> </li> </ul>  <p><font face="Segoe UI"></font></p>  <p><font size="4" face="Segoe UI">Product Mapping Tool Updates:</font></p>  <p><font face="Segoe UI">Checking the “Common/Shared” box will filter out failures when the corresponding file is the faulty module.&#160; Please note, if you previously had the “IsThirdParty” box checked that field has been cleared and repurposed to indicated “Common/Shared” files.&#160; Repurposing this field had no impact to the existing reports.</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/5226.clip_image001_34348D65.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/5226.clip_5F00_image001_5F00_34348D65.jpg"><img title="clip_image001" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/3122.clip_image001_thumb_117355A8.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/3122.clip_5F00_image001_5F00_thumb_5F00_117355A8.jpg" width="1237" height="650" /></a></p>  <p><font face="Segoe UI"></font></p>  <p><font size="4" face="Segoe UI">Report Updates:</font></p>  <p><font face="Segoe UI">Process information is displayed on the report.</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/7282.image_4130FE27.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/7282.image_5F00_4130FE27.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/2620.image_thumb_151691E7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/2620.image_5F00_thumb_5F00_151691E7.png" width="847" height="864" /></a></p>  <p><font face="Segoe UI"></font></p>  <p><font size="4" face="Segoe UI">Call to Action:</font></p>  <ul>   <li><font face="Segoe UI">Map the processes owned by your company to receive failures for those processes</font> </li>    <li><font face="Segoe UI">If you are receiving failures from a common or shared component you do not wish to receive data from then mark the “Common/Shared” box to filter the data out</font> </li> </ul>]]></content:encoded>
    </item>
    <item>
      <title>Windows Dev Center Web Services Update</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/windows-dev-center-web-services-update</link>
      <pubDate>Tue, 09 Oct 2012 16:59:03 GMT</pubDate>
      <dc:creator><![CDATA[DarrenMcKenzie]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2012/10/09/windows-dev-center-web-services-update/</guid>
      <description><![CDATA[Hello again. With an update coming soon to the Dev Center reports, we have made corresponding...]]></description>
      <content:encoded><![CDATA[<p>Hello again. With an update coming soon to the Dev Center <a href="http://blogs.msdn.com/b/wer/archive/2012/09/27/sysdev-reports-update.aspx">reports</a>, we have made corresponding updates to the Web Service based on the reports. All of the Dev Center Reports are exposed as feeds. This allows your company to pull down all report data, including CABs, programmatically without directly connecting to the Dev Center site. For more information on the feeds in general, including supporting sample code, please see the MSDN Dev Center Web Services <a href="http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;id=29229">overview</a>.</p>  <p>Here are the list of changes in the feed. These updates will start for some companies at the end of this week and will be available for all companies with current reports by next week.</p>  <p><strong>1) Product / Product Version split in the Product Detail Report. The feed splits the Product Version from the Product Name into separate fields.</strong></p>  <p>Report Name: ProductDetailNonSuiteReport, ProductDetailReport.rdl</p>  <p>Feed Name: ATOMFeed</p>  <p><b>Example Before:</b></p>  <p>Product and Product Version: &lt;d:Product&gt;CrashMeForBuild Version 1.0.0.0&lt;/d:Product&gt;</p>  <p><b>Example After</b>:</p>  <p>Product: &lt;d:Product&gt;CrashMeForBuild&lt;/d:Product&gt;</p>  <p>Product Version: &lt;d:ProductVersion&gt;1.0.0.0&lt;/d:ProductVersion&gt;</p>  <p>&#160;</p>  <p><strong>2) Offset breakout of CABs: The Offset is the place in the code where the failure is happening. It helps with determining the root cause of a set of issues. Offset values are added in two feeds in the reports.</strong></p>  <p><b>a) Offset addition to Product reports</b></p>  <p>Reports: CompanySummaryReport.rdl, ProductSummaryReport.rdl, ProductDetailReport.rdl, ProductSuiteSummaryReport.rdl, ProductSuiteDetailReport.rdl</p>  <p>Feed Name: ATOMFeed</p>  <p><b>Example new field:</b></p>  <p>Offset Value: &lt;d:Failure_Offset&gt;11A7&lt;/d:Failure_Offset&gt;</p>  <p><b>b) Offset update to CAB details</b></p>  <p>Reports: CompanySummaryReport.rdl, ProductSummaryReport.rdl, ProductDetailReport.rdl, ProductSuiteSummaryReport.rdl, ProductSuiteDetailReport.rdl</p>  <p>Feed Name: CABFeed</p>  <p><b>Example new fields:</b></p>  <p>Offset Value: &lt;d:Offset&gt;106D&lt;/d:Offset&gt;</p>  <p>Offset as percentage of CABs: &lt;d:OffsetPc m:type=&quot;<b>Edm.Double</b>&quot;&gt;1&lt;/d:OffsetPc&gt;</p>  <p>Offset as percentage for other CABs: &lt;d:OffsetAllOtherPercentage m:type=&quot;<b>Edm.Double</b>&quot;&gt;0&lt;/d:OffsetAllOtherPercentage&gt;</p>  <p>&#160;</p>  <p><strong>3) Addition of Operating System/Service Pack and file version associated with the CAB (can be Kernel or User Mode)</strong></p>  <p>Reports: CompanySummaryReport.rdl, ProductSummaryReport.rdl, ProductDetailReport.rdl, ProductSuiteSummaryReport.rdl, ProductSuiteDetailReport.rdl</p>  <p>Feed Name: CABFeed</p>  <p><b>Example New Fields:</b></p>  <p>CAB OS and Service Pack: &lt;d:CabOS&gt;Windows 7&lt;/d:CabOS&gt;</p>  <p>Is a File or Driver associated with CAB: &lt;d:CabsFileDriverVersionHeader&gt;File Version&lt;/d:CabsFileDriverVersionHeader&gt;</p>  <p>Version of file associated with CAB: &lt;d:CabVersion&gt;1.0.0.1&lt;/d:CabVersion&gt;</p>  <p>&#160;</p>  <p><strong>4) Addition of Operating System/Service Pack and file version associated with CAB (Kernel Mode or driver specific)</strong></p>  <p>Reports: DriverDetailReport.rdl</p>  <p>Feed Name: CABFeed</p>  <p><b>Example New Fields:</b></p>  <p>CAB OS and Service Pack: &lt;d:CabOSVersion&gt;Windows 7 (SP1)&lt;/d:CabOSVersion&gt;</p>  <p>Version of driver file associated with CAB&lt;d:CabDriverVersion&gt;6.1.7600.16385&lt;/d:CabDriverVersion&gt;</p>  <p>&#160;</p>  <p><strong>5) Additions to ATOM feed to support pulling multiple driver versions in a report</strong></p>  <p>Report: DriverDetailReport.rdl</p>  <p>Feed: ATOMFeed</p>  <p><b>Example New Fields:</b></p>  <p>CAB Date&lt;d:Cab_Date m:type=&quot;<b>Edm.DateTime</b>&quot;&gt;2012-08-02T00:00:00&lt;/d:Cab_Date&gt;</p>  <p>CAB Type&lt;d:Cab_Type&gt;Kernel Mini&lt;/d:Cab_Type&gt;</p>  <p>Link to CAB&lt;d:Cab_Download_Link&gt;CAB URL&lt;/d:Cab_Download_Link&gt;</p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Dev Center Reports Update</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/windows-dev-center-reports-update</link>
      <pubDate>Thu, 27 Sep 2012 01:20:00 GMT</pubDate>
      <dc:creator><![CDATA[DarrenMcKenzie]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2012/09/27/windows-dev-center-reports-update/</guid>
      <description><![CDATA[Hello. I’d like to provide some information on some changes available next month with the Dev Center...]]></description>
      <content:encoded><![CDATA[<p>Hello. I’d like to provide some information on some changes available next month with the Dev Center Reports. </p>  <p>As mentioned in “The only thing constant is change” <a href="http://blogs.msdn.com/b/wer/archive/2011/08/08/the-only-thing-constant-is-change-part-1.aspx">blog</a>, user mode reports use the Failure based approach. When symbols are not available (the most common scenario) this can sometimes make it difficult to determine the root cause of an issue. In these cases, Failures with the same exception code, problem class and module are all grouped into failure with <b>!unknown </b>instead of the function name. </p>  <p>To help mitigate this issue the CABs will be broken down by an <strong>Offset</strong> grouping, with the <strong>Offset</strong> value and the percentage of overall CABs that have that value. The <strong>Offset</strong> is the place in the code where the failure occurred and it helps determine the root cause of a set of issues.&#160; One item to keep in mind is that a file update can cause the <strong>Offset</strong> to move, so symbols are almost always the best way to identify issues. </p>  <p>Up to 10 CABs per <strong>Offset</strong> will be available and each Failure can show up to 10 <strong>Offsets</strong>.&#160; This means that up to 100 CABs could be provided per Failure. Up to now, only 10 CABs are available per Failure. With the combination of more CABs and an <strong>Offset</strong> breakout, more debugging information will be available per Failure.</p>  <p>Each Failure will show an <b>Offset</b> breakout per CAB set, such as the below:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/3288.image_1F35967A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/3288.image_5F00_1F35967A.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/6835.image_thumb_57E04087.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/6835.image_5F00_thumb_5F00_57E04087.png" width="158" height="244" /></a></p>  <p>Each user mode report type will provide an <b>Offset</b> breakout per Failure including:</p>  <p>1) Company Hotlist – The top 10 Failures are provided across all mappings</p>  <p>2) Product Group summary – Provides top 10 Failures across all product mappings in a product group. Each of the product groups provide a per product drill down</p>  <p>3) Product Summary – Provides top 10 Failures for product <strong>not</strong> in a product group.&#160; There is also a per product drill down providing more Failures</p>  <p>&#160;</p>  <p>Based on feedback – we’re are also making the following changes with the CAB section of the report:</p>  <ul>   <li>For both user and kernel Failures, <b>Full or Heap dumps</b> will be prioritized over <b>Mini dumps</b> </li>    <li>The <b>OS version</b> will be provided. This will be at an OS and Service Pack level, e.g. Windows 7 (SP1) </li>    <li>For User Mode reports the <b>File Version</b> will be displayed, for Kernel Mode reports, the <b>Driver Version</b> </li>    <li>For the Driver Summary Report, the Version Grouping will use a version sort rather than a string sort </li> </ul>  <p>&#160;</p>  <p>Example of Kernel Mode Changes. The <b>OS Version </b>and <b>Driver Version</b> are new fields in the CAB section:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/8585.image_741881F8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/8585.image_5F00_741881F8.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/2046.image_thumb_1AE69839.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/2046.image_5F00_thumb_5F00_1AE69839.png" width="356" height="66" /></a></p>  <p>&#160;</p>  <p>Example of User Mode Changes. CAB are broken down by an <strong>Offset</strong> group. <b>OS Version</b> and <b>File Version</b> are new fields in the CAB section:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/8883.image_3E84959B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/8883.image_5F00_3E84959B.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/8816.image_thumb_7A442E4E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/8816.image_5F00_thumb_5F00_7A442E4E.png" width="356" height="72" /></a></p>  <p>&#160;</p>  <p>With the report changes, this means some changes to the feed. The next blog will go over the feed changes in detail……</p>  <p><span style="font-family: ; color: "></span></p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Dev Center – Reports FAQ</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/windows-dev-center-reports-faq</link>
      <pubDate>Wed, 28 Mar 2012 12:00:58 GMT</pubDate>
      <dc:creator><![CDATA[DarrenMcKenzie]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2012/03/28/windows-dev-center-reports-faq/</guid>
      <description><![CDATA[How do I map files?          How can I see Driver Reports?               How can I see reports in...]]></description>
      <content:encoded><![CDATA[<span style="line-height: 115%; font-size: 22pt">   <p style="margin: 0in 0in 10pt" class="MsoNormal"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff" size="4"><a href="http://blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx#filemap">How do I map files?</a></font></span></span></p>   <span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN">       <p style="margin: 0in 0in 10pt" class="MsoNormal"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff"><a href="http://blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx#driverrep"><font size="4">How can I see Driver Reports?</font></a><font size="4"> </font></font></span></span></p>     </span></span><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff">         <p style="margin: 0in 0in 10pt" class="MsoNormal"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><a href="http://blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx#prodgroupsum"><font size="4">How can I see reports in the Product group summary?</font></a><font size="4"> </font></span></span></p>       </font></span></span></span><span style="line-height: 115%; font-size: 22pt">   <p style="margin: 0in 0in 10pt" class="MsoNormal"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff" size="4"><a href="http://blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx#prodmap">How do I make sure I see data for my Product based mappings?</a></font></span></span></p>    <p style="margin: 0in 0in 10pt" class="MsoNormal"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff" size="4"><a href="http://blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx#reldata">Where can I find information on report automation?</a></font></span></span></p>    <p style="margin: 0in 0in 10pt" class="MsoNormal"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff" size="4"><a href="http://blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx#autoprodmap">How do I automate generating product mappings?</a></font></span></span></p>    <p style="margin: 0in 0in 10pt" class="MsoNormal"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff" size="4"><a href="http://blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx#PowerShell">How do I use PowerShell to automate product mappings?</a></font></span></span><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff"><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; font-size: 11pt"><font color="#000000"></font></span></font></span></span></p>    <p style="margin: 0in 0in 10pt" class="MsoNormal"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff"><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; font-size: 11pt"><font color="#000000"><a href="http://blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx#RelProd"><font size="4">What is the Windows 8 Reliability Mappings Product and why do I see this within my Product summary list?</font></a><font size="4"> </font></font></span></font></span></span></p>    <p style="margin: 0in 0in 10pt" class="MsoNormal"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff"><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; font-size: 11pt"></span><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; font-size: 11pt"><font color="#000000" size="4"><a href="http://blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx#Support">Where can I go if I can’t find an answer to my question?</a></font></span></font></span></span></p>    <p style="margin: 0in 0in 0pt" class="MsoNormal"></p>    <hr />    <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><a title="filemap" name="filemap"></a><font size="5"><font color="#000000"><b>Q: How do I map files?</b><strong></strong></font></font></font></span></span></p>    <p><span class="MsoHyperlink"><font size="4"><span style="mso-ansi-language: en" lang="EN"><font color="#000000">A: </font></span><font color="#000000"><font color="#000000">The</font> Product Mapping Tool (also known as the Microsoft Ecosystem Metadata Exchange client) is the correct tool for mapping a new product, product group or driver file.</font><span style="color: #1f497d"> </span><font color="#000000">A prerequisite for the Product Mapping Tool is you will need to install at least one item from the </font></font><a href="http://explore.live.com/windows-live-essentials?os=other"><font color="#0000ff" size="4">Windows Live Essentials</font></a><font color="#000000" size="4">. This is to support Windows Live ID authentication on the Developer Dashboard. The Product Mapping Tool itself is available at the bottom of the Reports main link off the dashboard. You will need to log-in to see this view </font></span></p>    <p style="margin: 0in 0in 10pt" class="MsoNormal"><span style="mso-no-proof: yes"><font color="#000000" size="4">Choose the top level Reports link:</font></span></p>    <p style="margin: 0in 0in 10pt" class="MsoNormal"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/5773.image_6DA84BAF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/5773.image_5F00_6DA84BAF.png"><font size="2"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/4048.image_thumb_6F2967C3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/4048.image_5F00_thumb_5F00_6F2967C3.png" width="244" height="125" /></font></a></p>    <p><font size="4">The Product Mapping tool is at the bottom of the page under Downloads (Failure data is blurred out in this view):</font></p>    <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/6170.image_2AE90077.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/6170.image_5F00_2AE90077.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/6663.image_thumb_03AEB742.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/6663.image_5F00_thumb_5F00_03AEB742.png" width="606" height="649" /></a></p> </span>  <p><font size="4">Once you have authenticated using your Windows Live ID and finished synchronizing with the Microsoft Metadata Exchange Server, you will see your existing drivers and products if previously</font></p>  <p><font size="4">provided. The mapping </font><font size="4">inventory is divided into three areas:</font></p>  <p><font size="4"></font></p>  <p><span style="mso-ansi-language: da; mso-fareast-font-family: calibri" lang="DA"><span style="mso-list: ignore"><span style="font: 7pt &quot;Times New Roman&quot;"><font size="4"></font></span></span></span></p>  <p><font size="4">1) Drivers – Provides driver mappings on a file name basis.<span style="color: #1f497d"> </span>These are files that inform the Driver summary report, which show a version breakout.&#160; </font><font size="2"><font size="4">Drivers can be mapped through choosing Drivers New Driver<span style="mso-ansi-language: da" lang="DA">. </span>When a duplicate mapping already exists, the file will need to be investigated for ownership. Once signoff exists, reports can be </font></font><font size="2"><font size="4">generated. In most </font></font><font size="2"><font size="4">cases the Signoff Status will be “Not needed.”</font> </font></p>  <p><font size="2"><span style="mso-ansi-language: da" lang="DA"></span></font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/6685.image_5C746E0C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/6685.image_5F00_5C746E0C.png"><font size="2"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/3146.image_thumb_0342844D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/3146.image_5F00_thumb_5F00_0342844D.png" width="608" height="366" /></font></a></p>  <p>&#160; </p>  <ol><font size="2"></font></ol>  <p><font size="2"></font></p>  <p><font size="4">2) Products – Provides data based on specific files or file versions from specified directory. These files can be either kernel and/or user mode; however, the kernel files must be already mapped as </font><font size="4">a file in the </font><font size="4">Drivers section in order to be seen in Product based reports. The new product cycle view is a way of determining where in the development stage a product falls. This can help </font><font size="4">companies evaluate where to invest </font><font size="4">their development resources on fixes. </font></p>  <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="4"></font></p>  <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="4">Products can be mapped through Products, New Product</font></p>  <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="4">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></p>  <p style="margin: 0in 0in 10pt" class="MsoNormal"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/5773.image_2A109A8D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/5773.image_5F00_2A109A8D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/1586.image_thumb_3BED2E5A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/1586.image_5F00_thumb_5F00_3BED2E5A.png" width="607" height="367" /></a></p>  <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="4">&#160; </font></p>  <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="4">Choose a Name and Version</font></p>  <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="4">&#160; </font></p>  <p style="margin: 0in 0in 10pt" class="MsoNormal"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/5102.image_7BB714DF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/5102.image_5F00_7BB714DF.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/5277.image_thumb_091D27E6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/5277.image_5F00_thumb_5F00_091D27E6.png" width="605" height="340" /></a></p>  <p><font size="4">&#160; </font></p>  <p><font size="4">And add the appropriate file or directory of files</font></p>  <p><font size="4">&#160; </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/7356.image_1AF9BBB3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/7356.image_5F00_1AF9BBB3.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/0003.image_thumb_41C7D1F3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/0003.image_5F00_thumb_5F00_41C7D1F3.png" width="604" height="364" /></a></p>  <p><font size="4">Like driver files, when a duplicate mapping already exists, the product file will need to be investigated for ownership. Once signoff exists, reports can be generated. In most cases the Signoff </font><font size="4">Status will be “Not </font><font size="4">needed”</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/3630.image_3AA8957B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/3630.image_5F00_3AA8957B.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/6366.image_thumb_6176ABBB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/6366.image_5F00_thumb_5F00_6176ABBB.png" width="598" height="280" /></a></p>  <p>&#160;</p>  <p><font size="4">3)&#160; Product Groups – Groups products for reporting. These mappings make up the Product group summary report. Products not part of a Product group are available in the Product summary report.<span style="mso-ansi-language: da" lang="DA"> </span></font></p>  <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="4">Product Groups are mapped by choosing the Product Group item</font><span style="mso-ansi-language: da" lang="DA"> </span></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/6266.image_0844C1FC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/6266.image_5F00_0844C1FC.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/6170.image_thumb_01258584.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/6170.image_5F00_thumb_5F00_01258584.png" width="601" height="305" /></a></p>  <p><font size="4">and associating the Product Group with existing Products</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/8726.image_27F39BC4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/8726.image_5F00_27F39BC4.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/2553.image_thumb_0BE2DCD9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/2553.image_5F00_thumb_5F00_0BE2DCD9.png" width="602" height="310" /></a></p>  <p><font size="4">Once you’ve made your updates, you can publish your changes.&#160; Published mappings will update the report data once CABs are collected for your selected Drivers, Product and Product Groups</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/2538.image_32B0F319.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/2538.image_5F00_32B0F319.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/2541.image_thumb_727AD99E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/2541.image_5F00_thumb_5F00_727AD99E.png" width="601" height="299" /></a></p>  <p><font size="4">Previously provided metadata around Drivers, Products and Product Groups can be saved through Tools Import metadata and Export Metadata</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/1563.image_1948EFDF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/1563.image_5F00_1948EFDF.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/7824.image_thumb_1229B367.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/7824.image_5F00_thumb_5F00_1229B367.png" width="596" height="302" /></a></p>  <hr />  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><a title="driverrep" name="driverrep"></a><font size="5"><font color="#000000"><b>Q</b>: <strong>How can I see Driver Reports</strong></font></font></font></span></span></p>  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#0000ff" size="2"><strong><font color="#000000" size="4">A: </font></strong><font color="#000000"><font size="4"><font color="#000000">Make</font> sure the Product Mapping Tool has entries in the Drivers area. The Driver Summary report will show error reporting data across all versions</font><font size="3"> </font></font></font></span></span></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/4101.image_38F7C9A7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/4101.image_5F00_38F7C9A7.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/0804.image_thumb_4AD45D74.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/0804.image_5F00_thumb_5F00_4AD45D74.png" width="596" height="313" /></a></p>  <hr />  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><font color="#0000ff"><a title="prodgroupsum" name="prodgroupsum"></a><font size="5"><font color="#000000"><b>Q</b>: </font><strong><font color="#000000">How can I see reports in the Product group </font><font color="#000000">summary?</font></strong></font></font></font></span></span></p>  <p><font size="4"><font color="#000000"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><strong>A: </strong></span></span>Product</font> Group must be mapped by default in the Product Mapping Tool. Product Groups are made up of different Products. This is a new concept that allows for more flexible ways of organizing </font><font size="4">data by concepts </font><font size="4">that makes sense to your organization (e.g. by Suite, by Division.) Once these mappings are created, the next generated set of reports will show a populated Product summary </font><font size="4">report</font></p>  <p>&#160;</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/3531.image_71A273B4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/3531.image_5F00_71A273B4.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/5277.image_thumb_465DDCAD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/5277.image_5F00_thumb_5F00_465DDCAD.png" width="593" height="316" /></a></p>  <hr />  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><a title="prodmap" name="prodmap"></a><font size="5"><font color="#000000"><b>Q</b>: <strong>How do I make sure I see data for my Product based mappings?</strong></font></font></font></span></span></p>  <p><font size="4"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN">A:&#160; </span></span>In order for data to be provided to the reports the following conditions must be met:</font></p>  <p><font size="4">1) Product data is based on the file version and link date granularity.&#160; If a file version is used across multiple link dates, make sure mappings exist for all applicable files</font></p>  <p><font size="4">2) CABs are collected within the last 30 days and a Failure (see the </font><a href="http://blogs.msdn.com/b/wer/archive/2011/08/08/the-only-thing-constant-is-change-part-1.aspx"><font size="4">blog</font></a><font size="4"> “</font><a href="http://blogs.msdn.com/b/wer/archive/2011/08/08/the-only-thing-constant-is-change-part-1.aspx"><font size="4">the only thing constant is change – Part 1</font></a><font size="4">” for more information) has at least 4 hits</font></p>  <p><font size="4">3) You company has logged into the </font><a href="https://sysdev.microsoft.com/"><font size="4">Windows Dev Center</font></a><font size="4"> within the last 60 days</font></p>  <hr />  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font color="#4f81bd" size="3"></font></span></span></p>  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><font size="5"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><a title="reldata" name="reldata"></a><font size="5"><font color="#000000"><strong>Q</strong>: <strong>Where can I find information on report automation?</strong></font></font></font></span></span></font></font></span></span></p>  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="4">A: You can download sample code and description of the feed for each core report from the </font><a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=29229"><font size="4">Microsoft Download Center</font></a></span></span></span></span></p>  <hr />  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><a title="autoprodmap" name="autoprodmap"></a><font size="5"><font color="#000000"><b>Q</b>: <strong>How do I automate generating product mappings?</strong></font></font></font></span></span></p>  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="4">A: Automation is done through PowerShell. PowerShell uses the MicrosoftExchange module.This module can be directly initiated through the client</font></span></span></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/4861.image_236A611D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/4861.image_5F00_236A611D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/4454.image_thumb_709A5AA8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/4454.image_5F00_thumb_5F00_709A5AA8.png" width="604" height="369" /></a></p>  <p><font size="4">or directly though the PowerShell command</font></p>  <p><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-bidi-font-size: 11.0pt"><font size="2">PS C:\Users\testuser&gt; import-module MetaDataExchange</font></span></p>  <p><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-bidi-font-size: 11.0pt"><font size="4" face="Calibri"></font></span></p>  <p><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-bidi-font-size: 11.0pt"><font size="4" face="Calibri">in both cases the Product Mapping Tool (Metadata Exchange client) must be present on the local system. You can get a list of commands through the below:</font></span></p>  <p><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-bidi-font-size: 11.0pt"></span><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-bidi-font-size: 11.0pt"><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-ansi-language: en-us; mso-fareast-font-family: calibri; mso-bidi-font-size: 11.0pt; mso-fareast-theme-font: minor-latin; mso-fareast-language: en-us; mso-bidi-language: ar-sa"><font size="2">PS C:\Users\testuser&gt; get-command -module metadataexchange</font> </span></span></p>  <hr />  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><a title="PowerShell" name="PowerShell"></a><font size="5"><font color="#000000"><b>Q</b>: <strong>How do I use PowerShell to automate product mappings?</strong></font></font></font></span></span></p>  <p><font size="4">A: Much like directly using the Product Mapping client, a product and associated files need to be provided.</font></p>  <p><font color="#4f81bd"><font style="font-weight: bold" size="4">Create a new product</font></font></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><font size="4">This action uses the New-Product commandlet and pipes the output into Add-Product, which adds the product to the current Metadata Object</font></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font face="Consolas">&#160;</font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><font face="Consolas"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3">NAME</font></span></b><span style="font-family: "> <font size="3">New-Product</font></span></font></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font face="Consolas">&#160;</font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas">SYNTAX</font></span></b></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>New-Product [-Name] &lt;string&gt; [-Version] &lt;string&gt; [[-Lifecycle] &lt;Lifecycle&gt; {Prerelease | CurrentRelease |</font></font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>Supported}]<span style="mso-spacerun: yes">&#160; </span>[&lt;CommonParameters&gt;]</font></font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font face="Consolas">&#160;</font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><font face="Consolas"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3">NAME</font></span></b><span style="font-family: "> <font size="3">Add-Product</font></span></font></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font face="Consolas">&#160;</font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas">SYNTAX</font></span></b></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>Add-Product [-Product] &lt;Product[]&gt; [-IgnoreDuplicates] [-WhatIf] [-Confirm]<span style="mso-spacerun: yes">&#160; </span>[&lt;CommonParameters&gt;]</font></font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font size="3" face="Consolas">&#160;</font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>Add-Product [-ProductGroup] &lt;ProductGroup&gt; [-Product] &lt;Product[]&gt; [-IgnoreDuplicates] [-WhatIf] [-Confirm]</font></font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>[&lt;CommonParameters&gt;]</font></font></span></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font face="Consolas">&#160;</font></span></b></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas">Console commands:</font></span></b></p>  <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas"></font></span></b></p> <span style="font-family: ">   <p style="margin: 0in 0in 0pt" class="MsoNormal"><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-bidi-font-size: 11.0pt"><font size="2"></font></span></p>    <p style="margin: 0in 0in 0pt" class="MsoNormal"><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-bidi-font-size: 11.0pt"><font size="2">PS C:\Users\TestUser&gt; $p1 = New-Product -Name &quot;CrashMe&quot; -Version &quot;1.0.0.0&quot; -Lifecycle Supported | Add-Product</font></span></p>    <p style="margin: 0in 0in 0pt" class="MsoNormal"><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-bidi-font-size: 11.0pt"><font size="2"></font></span></p>    <p style="margin: 0in 0in 0pt" class="MsoNormal"><span style="line-height: 115%; font-family: consolas; font-size: 7pt; mso-bidi-font-size: 11.0pt"><font size="2">PS C:\Users\TestUser&gt; $p1 </font></span></p>    <p style="margin: 0in 0in 0pt" class="MsoNoSpacing">&#160;</p>    <p style="margin: 0in 0in 0pt" class="MsoNoSpacing"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas">Console output:</font></span></b></p>    <p><font size="2" face="Consolas">Name : CrashMe</font></p>    <p><font size="2" face="Consolas">Version : 1.0.0.0</font></p>    <p><font size="2" face="Consolas">Lifecycle : Supported</font></p>    <p><font size="2" face="Consolas">CreatedDate : 1/1/0001 12:00:00 AM</font></p>    <p><font size="2" face="Consolas">ModifiedDate : 1/1/0001 12:00:00 AM</font></p>    <p><font size="2" face="Consolas">ProductFiles : {}</font></p>    <p><font size="2" face="Consolas">ProductGroups : {}</font></p>    <p><font size="4">This process can be repeated to create multiple products. In the below case a second variable is being assigned to the additional product</font></p>    <p><b><font size="3" face="Consolas">Console commands for second product:</font></b></p>    <p><font size="2" face="Consolas">PS C:\Users\TestUser&gt; $p2 = New-Product -Name &quot;CrashMe&quot; -Version &quot;1.0.0.0&quot; -Lifecycle Supported | Add-Product</font></p>    <p><font size="2" face="Consolas">PS C:\Users\TestUser&gt; $p2</font></p>    <p><font size="2" face="Consolas"></font></p>    <p><font size="2" face="Consolas"></font></p>    <p><font color="#4f81bd"><font style="font-weight: bold" size="4">Add files to the product</font></font></p>    <p style="line-height: 13pt; margin: 0in 0in 10pt" class="MsoNormal"><font size="4">We are going to be using the New-ProductFile commandlet and pipe the output into Add-ProductFile commandlet passing in the Product variable ($p) we created in the previous command</font></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><font face="Consolas"><font size="3"><b style="mso-bidi-font-weight: normal"><span style="font-family: ">NAME </span></b><span style="font-family: ">New-ProductFile</span></font></font></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas">&#160;</font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas">SYNTAX</font></span></b></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>New-ProductFile [-Path] &lt;string[]&gt; [-IgnoreErrors] [-RecursionDepth &lt;int&gt;] [-WhatIf] [-Confirm]</font></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>[&lt;CommonParameters&gt;]</font></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas">&#160;</font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>New-ProductFile [-LiteralPath] &lt;string[]&gt; [-IgnoreErrors] [-RecursionDepth &lt;int&gt;] [-WhatIf] [-Confirm]</font></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>[&lt;CommonParameters&gt;]</font></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas">&#160;</font></span></b></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><font face="Consolas"><font size="3"><b style="mso-bidi-font-weight: normal"><span style="font-family: ">NAME</span></b><span style="font-family: "> Add-ProductFile</span></font></font></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas">&#160;</font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas">SYNTAX</font></span></b></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>Add-ProductFile [-Product] &lt;Product&gt; [-ProductFile] &lt;ProductFile[]&gt; [-IgnoreDuplicates] [-WhatIf] [-Confirm]</font></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span>[&lt;CommonParameters&gt;]</font></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas"></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas"></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas"><b></b></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas"><b>Console commands:</b></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "></span><span style="font-family: "><font size="3" face="Consolas">PS C:\Users\TestUser&gt; New-ProductFile &quot;C:\Program Files (x86)\App\CrashMeForBuild\Release1&quot; | add-ProductFile $p1 </font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas"></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas"></font></span></b></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas">Console output:</font></span></b></p>    <p><font size="2" face="Consolas">FileName&#160;&#160;&#160;&#160;&#160;&#160; : CrashMeForBuild.exe        <br />FileVersion&#160;&#160;&#160; : 1.0.0.1         <br />LinkDate&#160;&#160;&#160;&#160;&#160;&#160; : 8/24/2011 8:02:14 PM         <br />IsThirdParty&#160;&#160; : False         <br />CompanyName&#160;&#160;&#160; : SpiralOrbit         <br />ProductName&#160;&#160;&#160; : CrashMeForBuild         <br />ProductVersion : 1.0.0.1         <br />ProgramId&#160;&#160;&#160;&#160;&#160; : 00000f85cc37222304c06205aa6a3b7b755600000904         <br />FileId&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : 000006cea01916adcf2526f7607a9d3ee1e806d6d6b0         <br />SignoffStatus&#160; : Requested         <br />CreatedDate&#160;&#160;&#160; : 1/1/0001 12:00:00 AM         <br />ModifiedDate&#160;&#160; : 1/1/0001 12:00:00 AM</font></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="4">this process can be repeated for additional Product Versions</font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><strong><font size="3" face="Consolas"></font></strong></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><strong><font size="3" face="Consolas"></font></strong></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><strong><font size="3" face="Consolas">Console command for second product:</font></strong></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "></span><span style="font-family: "><span style="font-family: "><font size="3" face="Consolas">PS C:\Users\TestUser&gt; New-ProductFile &quot;C:\Program Files (x86)\App\CrashMeForBuild\Release2&quot; | add-ProductFile $p2</font></span></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><span style="font-family: "></span></span><span style="font-family: "><span style="font-family: "><font size="4">Once the mappings have been generated, the output can be consumed by the Product Mapping Client.</font></span></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><font face="Cambria"><font style="font-size: 11pt" color="#4f81bd"><font style="font-weight: bold"></font></font></font></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><font color="#4f81bd"><font style="font-weight: bold"></font></font></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><font color="#4f81bd"><font style="font-weight: bold" size="4"></font></font></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><font color="#4f81bd"><font style="font-weight: bold" size="4"></font></font></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><font color="#4f81bd"><font style="font-weight: bold" size="4">Export Metadata to file</font></font></p>    <p style="line-height: 13pt; margin: 0in 0in 10pt" class="MsoNormal"><font size="4">We are going to use the Export-Metadata commandlet to save a file that can be consumed by the Ecosystem Metadata Exchange Client tool for upload.<span style="mso-spacerun: yes">&#160; </span>You need to save the file extension as .emx for it to be </font><font size="4">recognized by the EMX.exe client tool.</font></p>    <p style="line-height: 13pt; margin: 0in 0in 10pt" class="MsoNormal"><b style="mso-bidi-font-weight: normal"><font size="3" face="Consolas">NAME</font></b><span style="mso-spacerun: yes">&#160;&#160; </span><font size="3" face="Consolas">Export-Metadata</font></p>    <p style="line-height: 13pt; margin: 0in 0in 10pt" class="MsoNormal"><b style="mso-bidi-font-weight: normal"><font size="3" face="Consolas">SYNTAX</font></b></p>    <p style="line-height: 13pt; margin: 0in 0in 10pt" class="MsoNormal"><font face="Consolas"><font size="3"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span></font><font size="2">Export-Metadata [-Path] &lt;string&gt; [-CreateNew]<span style="mso-spacerun: yes">&#160; </span>[&lt;CommonParameters&gt;]</font></font></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas"><b>Console command:</b></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><span style="font-family: "><font size="2" face="Consolas">PS C:\Users\TestUser&gt; Export-MetaData &quot;C:\CrashMeForBuild\Filemappings\EMXMetadataTest.emx&quot;</font></span></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><strong><font size="3" face="Consolas"></font></strong></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><b style="mso-bidi-font-weight: normal"><span style="font-family: "><font size="3" face="Consolas">Console output:</font></span></b></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="3" face="Consolas">         <br /><font size="2">Mode&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; LastWriteTime&#160;&#160;&#160;&#160; Length Name            <br />----&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -------------&#160;&#160;&#160;&#160; ------ ----             <br />-a---&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4/20/2012&#160;&#160; 3:35 PM&#160;&#160;&#160;&#160;&#160;&#160; 2550 EMXMetadataTest.emx</font></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><strong><font size="3" face="Consolas"></font></strong></span></p>   <span style="font-family: "><font face="Consolas">       <h3 style="margin: 10pt 0in 0pt"><font color="#4f81bd"><strong><font face="Calibri"></font></strong></font></h3>        <h3 style="margin: 10pt 0in 0pt"><font color="#4f81bd"><strong><font face="Calibri">Import the .emx file to the client tool</font></strong></font></h3>        <h3 style="margin: 10pt 0in 0pt"><font size="4" face="Calibri">From the Tools Menu select Import Metadata</font></h3>        <p style="margin: 10pt 0in 0pt">&#160;</p>        <p style="margin: 0in 0in 10pt" class="MsoNormal"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/7181.image_49601173.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/7181.image_5F00_49601173.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/1738.image_thumb_5732576E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/1738.image_5F00_thumb_5F00_5732576E.png" width="609" height="371" /></a></p>     </font></span>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="4">&#160;&#160; </font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="4">point to the directory with the saved .emx file</font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="4"></font></span></p>    <p style="line-height: 13pt; margin: 0in 0in 0pt" class="MsoNormal"><span style="font-family: "><font size="4">&#160;&#160;&#160;&#160; </font></span></p> </span>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/2816.image_690EEB3B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/2816.image_5F00_690EEB3B.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/8267.image_thumb_0FDD017C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/8267.image_5F00_thumb_5F00_0FDD017C.png" width="602" height="396" /></a></p>  <p><font size="4">Select the file and open</font></p>  <p><font size="4">You will see the changes reflected in the Publish Changes section of the tool. Click on Publish to submit the products for processing</font></p>  <p><font size="4"></font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/4786.image_4FA6E801.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/4786.image_5F00_4FA6E801.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/8171.image_thumb_4887AB89.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/8171.image_5F00_thumb_5F00_4887AB89.png" width="603" height="390" /></a></p>  <hr />  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><a title="RelProd" name="RelProd"></a><font size="5"><font color="#000000"><b>Q</b>: <strong>What is the Windows 8 Reliability Mappings Product and why do I see this within my Product summary list?</strong></font></font></font></span></span></p>  <p><font size="4">A: The Windows 8 Reliability Mappings Product is to support file mappings for the Windows 8 Reliability report. This report looks at the top issues affecting the reliability of Window 8. In order to </font><font size="4">provide </font><font size="4">CAB links within the report, mappings are required at the file version and link date granularity. If these mappings are not currently available through your organization’s current Product </font><font size="4">based mappings, </font><font size="4">they will be added to the Windows 8 Reliability Mappings Product. This is to ensure your organization continues to get CABs for the Windows 8 Reliability Report</font></p>  <hr />  <p><span class="MsoHyperlink"><span style="mso-ansi-language: en" lang="EN"><font size="3"><a title="Support" name="Support"></a><font size="5"><font color="#000000"><b>Q</b>: <strong>Where can I go if I can’t find an answer to my question?</strong></font></font></font></span></span></p>  <p><font size="4">A: <span style="font-family: &#39;Calibri&#39;,&#39;sans-serif&#39;; font-size: 11pt"><font size="4">Contact the <a href="mailto:sysdev@microsoft.com">Windows Dev Center Support Team</a></font></span></font></p>  <hr />]]></content:encoded>
    </item>
    <item>
      <title>The only thing constant is change – Part 1</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/the-only-thing-constant-is-change-part-1</link>
      <pubDate>Mon, 08 Aug 2011 08:52:05 GMT</pubDate>
      <dc:creator><![CDATA[Kevin_Hill [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2011/08/08/the-only-thing-constant-is-change-part-1/</guid>
      <description><![CDATA[Hello it’s Kevin Hill here. I want to provide some insight into where we are heading with the WER...]]></description>
      <content:encoded><![CDATA[<p>Hello it’s Kevin Hill here. I want to provide some insight into where we are heading with the WER datasets for partners.&#160;&#160; </p>  <p>We surveyed users of WER data on <a href="https://winqual.microsoft.com">https://winqual.microsoft.com</a> to get feedback for the direction of features, the below two themes surfaced quickly as a result:</p>  <ul>   <li><b>“Reduce noise” – we had a lot of feedback around filtering out low priority “events” as these end up being time-wasters.</b> </li>    <li><b>“More automation &amp; notifications” – Don’t make me always come to the website to get information push it to me.</b> </li> </ul>  <p>We have made feature investments to help make progress in these areas:</p>  <p><b>“Reduce noise”</b></p>  <p>For the user mode datasets in the past we had shown “event” (a.k.a. Bucket) based information.&#160; We are moving this dataset to be based on Failures which are the result of the !Analyze debugging extension.&#160;&#160; Below I scratch the surface with the difference between these two datasets, but watching the Channel 9 video really helps to understand what logic goes into analyzing failures.</p>  <p>Buckets classify issues by: <b>Application Name</b>, <b>Application Version</b>, <b>Application Build Date</b>, <b>Module Name</b>, <b>Module Version</b>, <b>Module Build Date</b>, <b>OS Exception Code</b>, and <b>Module Code Offset</b>. On the surface this looks like a very precise way to classify issues; however it can be misleading at times since we generate this bucket on the Windows OS client without performing any symbol analysis on the memory dump.&#160; The module that is picked by the Windows Error Reporting client is the module at the top of the stack.&#160; We have found that investigating these issues as raw buckets can cause many investigations that result in a faulting module that is different from the original bucket determination.&#160; <a title="WER History 101" href="http://blogs.msdn.com/b/wer/archive/2009/03/19/let-there-be-hangs-part-2-wer-history-101.aspx" target="_blank">Ryan Kivett (a developer lead from the Windows Reliability team) has a great blog post titled: WER History 101</a></p>  <p>Failures, however, are the result of processing memory dumps collected from buckets in order to more precisely assess blame to the appropriate module.&#160; I have included the graphic below to show how buckets can result in multiple different failures.&#160; While this is a typically scenario once private symbol analysis has been applied, there can also be cases where multiple buckets get aggregated into a !Unknown symbol as well.&#160; If you download cabs and run !Analyze with your own private symbol paths you will break down the !Unknown failures into a very precise set of issues.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/8053.image_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/8053.image_5F00_2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/5314.image_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/5314.image_5F00_thumb.png" width="517" height="297" /></a></p>  <p>&#160;</p>  <p>Here is another example considering multiple buckets:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/0116.image_4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/0116.image_5F00_4.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/15/26/metablogapi/2063.image_thumb_1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-15-26-metablogapi/2063.image_5F00_thumb_5F00_1.png" width="521" height="352" /></a></p>  <p>Since we are performing automated analysis of issues using private symbols we are able to filter out issues where we know we will likely be able to provide a fix, in order to provide fewer issues that will result in investigations that point to issues in modules that don’t belong to you.&#160; This is one of the ways we are reducing the noise in the dataset.&#160; This doesn’t mean that there will be fewer number of issues, but the issues we share are more likely to be actionable for your software.</p>  <p>The below video contains a detailed explanation of the logic behind !Analyze and what goes into the failure dataset.</p>  <p><a title="!Analyze video" href="https://channel9.msdn.com/blogs/charles/david-grant-and-ryan-kivett-analyze-automatic-root-cause-analysis" rel="tag" target="_blank"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/8/2/8/4/Win7Analyze_large_ch9.png" /></a></p>  <p><b>“More automation &amp; notifications”</b></p>  <p>We are providing email updates for all the new failure based reports that are going to be published based on the new user mode failure based dataset and the kernel mode failure based dataset as well. </p>  <p>Stay tuned for more updates on planned changes, Part 2 will provide more information…</p>]]></content:encoded>
    </item>
    <item>
      <title>Why You Should Use XMLHttpRequest Asynchronously</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/why-you-should-use-xmlhttprequest-asynchronously</link>
      <pubDate>Wed, 03 Aug 2011 13:20:00 GMT</pubDate>
      <dc:creator><![CDATA[Dom Roselli]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2011/08/03/why-you-should-use-xmlhttprequest-asynchronously/</guid>
      <description><![CDATA[8.4% of all hangs in IE9 in the past month are caused by XMLHttpRequest objects blocking the UI...]]></description>
      <content:encoded><![CDATA[<p>8.4% of all hangs in IE9 in the past month are caused by XMLHttpRequest objects blocking the UI thread with a synchronous request. That&rsquo;s a huge number! With some manageable code changes, these hangs can be avoided, and developers can give their users a better experience across their websites. We&rsquo;ll get into what&rsquo;s happening here, what you can do about it, and we&rsquo;ll give a little demonstration to see firsthand what can happen when a synchronous request hangs the browser.</p>
<h2>Synchronous XMLHttpRequest Blocks the UI Thread</h2>
<p>We already know performing a <a title="Preventing Hangs in Windows Applications" href="http://msdn.microsoft.com/en-us/library/dd744765(v=vs.85).aspx" target="_blank">blocking operation on a UI thread is asking for trouble</a>. We&rsquo;ve <a title="Let There Be Hangs: Part 1 (Not Responding)" href="http://blogs.msdn.com/b/wer/archive/2009/03/19/let-there-be-hangs-part-1-not-responding.aspx" target="_blank">blogged</a> about this before. It might not be apparent, but this is exactly what can happen when calling the XMLHttpRequest.send() method synchronously (i.e. passing false for bAsync when calling the open method). The UI thread has to wait until it gets a response from the server, or until the request times out. While waiting, it&rsquo;s not pumping messages.</p>
<h2>Why Use Synchronous XMLHttpRequest At All?</h2>
<p>Developers tend to use synchronous over asynchronous is because it&rsquo;s easier and can many times lead to less complex code. This <a title="Is there any reason to use a synchronous XMLHttpRequest?" href="http://stackoverflow.com/questions/2088318/is-there-any-reason-to-use-a-synchronous-xmlhttprequest" target="_blank">StackOverflow thread</a> states some potentially valid opinions on why you&rsquo;d use one over the other, but nothing compelling enough that makes it worth the risk.</p>
<h2>Fixing It&hellip;</h2>
<p>There are at least two ways you can write your code to avoid these hangs. The first method is preferred, because you won&rsquo;t block on the UI thread. The second is less than optimal, because you&rsquo;ll still block, but for less time than you&rsquo;re probably doing now.</p>
<ol>
<li><span style="text-decoration: underline;">Write your code to call open asynchronously.</span> <br />You need to pass true for the bAsync parameter to the <a title="XMLHttpRequest Open Method" href="http://msdn.microsoft.com/en-us/library/ms536648(v=vs.85).aspx" target="_blank">open method</a>, and you need to write an event handler for the <a title="XMLHttpRequest Onreadystatechange Event" href="http://msdn.microsoft.com/en-us/library/dd576252(v=VS.85).aspx" target="_blank">onreadystatechange event</a>. There are many examples of how to do this out one the web, like <a title="XMLHttpRequest Object" href="http://msdn.microsoft.com/en-us/library/ms535874%28VS.85%29.aspx" target="_blank">this one</a>.</li>
<li><span style="text-decoration: underline;">Set the timeout property.<br /></span>Because the Desktop Window Manager detects a hang after 5 seconds of unresponsiveness, and IE9 Hang Resistance after 8, I would set the <a title="XMLHttpRequest Timeout Property" href="http://msdn.microsoft.com/en-us/library/cc304105(v=VS.85).aspx" target="_blank">timeout&nbsp;property</a> to something under 5 seconds. You may also want to consider creating a function to handle the <a title="XMLHttpRequest Ontimeout Event" href="http://msdn.microsoft.com/en-us/library/cc304105(v=VS.85).aspx" target="_blank">ontimeout event</a>.<br />(How did I get these numbers? Refer to <a title="Let There Be Hangs: Part 1 (Not Responding)" href="http://blogs.msdn.com/b/wer/archive/2009/03/19/let-there-be-hangs-part-1-not-responding.aspx" target="_blank">here</a> and <a title="Hang Resistance in IE9" href="http://blogs.msdn.com/b/ie/archive/2011/04/19/hang-resistance-in-ie9.aspx" target="_blank">here</a> respectively &ndash; also already mentioned above)<span style="text-decoration: underline;"><br /></span></li>
</ol>
<h2>How About an Example?</h2>
<p>Let&rsquo;s dig into the details by creating a couple of scenarios:</p>
<ol>
<li>We&rsquo;ll create some code that will make a synchronous request and hang the browser, and then</li>
<li>change the code to be asynchronous, and observe the acute change in browser behavior.</li>
</ol>
<p>The goal of these scenarios is to demonstrate how switching from synchronous to asynchronous requests will improve the user experience of your web applications.<br /><br /><span style="text-decoration: underline;"><strong>DISCLAIMER:</strong></span> This will hang your browser and may result in unintended, perhaps even undesirable behavior on both the client and the server. In other words, don&rsquo;t run this on your production server, or any other machine that can&rsquo;t tolerate running instable and potentially broken code.</p>
<h2>&nbsp;The Setup</h2>
<p>You&rsquo;ll need a web server capable of running ASP.NET if you want to follow the example directly. I realize some readers may not be using ASP.NET, but the code should be straight-forward enough that you can adapt it to other environments without too much trouble.</p>
<p>Also, I will assume you are familiar with your web server environment and know how to render a page server-side.</p>
<p>Copy this code into your favorite text editor and save it as <strong>hangme.aspx</strong> somewhere on your web server.&nbsp;</p>
<p>&nbsp;</p>
<pre><span style="font-size: x-small;"><code>&nbsp;&lt;!-- code starts after this line --&gt;<br /> &lt;%@ Page Language="C#" %&gt; <br /> &lt;html&gt; <br /> &lt;head&gt; <br /> &lt;title&gt;XmlHttpRequest open hang test&lt;/title&gt; <br /> &lt;script runat="server"&gt;<br /> &nbsp;&nbsp; protected void Page_Load(object sender, EventArgs e) { <br /> &nbsp;&nbsp; &nbsp;&nbsp; if(Request.QueryString["hang"] == "1") {<br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; int seconds = 0; <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Int32.TryParse(Request.QueryString["seconds"], out seconds); <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; System.Threading.Thread.Sleep(seconds * 1000); <br /> &nbsp;&nbsp; &nbsp;&nbsp; } <br /> &nbsp;&nbsp; } <br /> &lt;/script&gt; <br /> &lt;script type="text/javascript"&gt; <br /> &nbsp;&nbsp; function call_hangme() { <br /> &nbsp;&nbsp; &nbsp;&nbsp; var oReq; &nbsp;&nbsp; &nbsp;&nbsp; if (window.XMLHttpRequest) { <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; oReq = new XMLHttpRequest(); <br /> &nbsp;&nbsp; &nbsp;&nbsp; } <br /> &nbsp;&nbsp; &nbsp;&nbsp; if (oReq != null) { <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; var sUrl = "http://localhost/hangme.aspx?hang=1&amp;seconds=360"; <br /><br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;!-- change localhost to your server name if applicable --&gt; <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; document.getElementById("txt1").innerHTML = "Request Sent..."; <br /><br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;!-- pass false for the bAsync parameter for a synchronous request --&gt; <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; oReq.open("GET", sUrl, false); <br /><br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; oReq.send(); <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; document.getElementById("txt1").innerHTML = "Response Received!"; <br /> &nbsp;&nbsp; &nbsp;&nbsp; } <br /> &nbsp;&nbsp; &nbsp;&nbsp; else { <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; window.alert("Error creating XmlHttpRequest object."); <br /> &nbsp;&nbsp; &nbsp;&nbsp; }<br /> &nbsp;&nbsp; }<br /> &lt;/script&gt; <br /> &lt;/head&gt; <br /> &lt;body&gt; <br /> &nbsp;&nbsp; &lt;p&gt;Click this button to hang the browser&lt;/p&gt; <br /> &nbsp;&nbsp; &lt;form name="form1" action="" method="get"&gt; <br /> &nbsp;&nbsp; &nbsp;&nbsp; &lt;input type="button" name="btn1" value="hang me" onClick="call_hangme()"&gt; <br /> &nbsp;&nbsp; &lt;/form&gt;<br /> &nbsp;&nbsp; &lt;p id="txt1"/&gt; <br /> &lt;/body&gt; <br /> &lt;/html&gt; <br /> &lt;!-- code ends on the line before this one --&gt;</code></span> </pre>
<h2>&nbsp;Make It Hang</h2>
<p>Now,</p>
<ol>
<li>Open Internet Explorer and browse to the hangme.aspx page.</li>
<li>Click the &ldquo;hang me&rdquo; button.</li>
</ol>
<p>Uh-oh! We&rsquo;re hung! Because we told the thread to sleep for 6 minutes, we&rsquo;re going to be here awhile. If you&rsquo;re using IE9, you&rsquo;ve probably noticed the gold band at the bottom offering to &ldquo;Recover webpage&rdquo;. If you&rsquo;re using another browser, you&rsquo;ve probably got a ghosted window.</p>
<h2>Calling Open Asynchronously</h2>
<p>Copy this code new file and save it as <strong>wont_hangme.aspx</strong>.&nbsp;</p>
<pre><span style="font-size: x-small;"><code> &lt;!-- code starts after this line --&gt;&nbsp; <br /> &lt;%@ Page Language="C#" %&gt;<br /> &lt;html&gt;<br /> &lt;head&gt;<br /> &lt;title&gt;XmlHttpRequest open hang test&lt;/title&gt;<br /> &lt;script runat="server"&gt;<br /> &nbsp;&nbsp; protected void Page_Load(object sender, EventArgs e) {<br /> &nbsp;&nbsp; &nbsp;&nbsp; if(Request.QueryString["hang"] == "1") {<br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; int seconds = 0;<br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Int32.TryParse(Request.QueryString["seconds"], out seconds);<br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; System.Threading.Thread.Sleep(seconds * 1000);<br /> &nbsp;&nbsp; &nbsp;&nbsp; }<br /> &nbsp;&nbsp; }<br /> &lt;/script&gt;<br /> &lt;script type="text/javascript"&gt; <br /> &nbsp;&nbsp; function hangme() {<br /> &nbsp;&nbsp; &nbsp;&nbsp; var oReq;<br /> &nbsp;&nbsp; &nbsp;&nbsp; if (window.XMLHttpRequest) {<br /> &nbsp;&nbsp; &nbsp;&nbsp; oReq = new XMLHttpRequest();<br /> &nbsp;&nbsp; &nbsp;&nbsp; }<br /><br /> &nbsp;&nbsp; &nbsp;&nbsp; if (oReq != null) {<br /> <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;!-- change localhost to your server name if applicable --&gt;<br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; var sUrl = "http://localhost/wont_hangme.aspx?hang=1&amp;seconds=500"; <br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; document.getElementById("txt1").innerHTML = "Request Sent...";<br /><br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;!-- pass true for the bAsync parameter --&gt;<br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; oReq.open("GET", sUrl, true); <br /><br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;<span style="background-color: #ffff00;"> &lt;!-- Here we define an anonymous function for the <br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;onreadystatechange event. </span><span style="background-color: #ffff00;"> We check if we received all the data, <br /> &gt;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;and the request was successful before changing the text</span><br /><span style="background-color: #ffff00;"> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; --&gt;</span><br /><br /><span style="background-color: #ffff00;"> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; oReq.onreadystatechange = function() {</span><br /><span style="background-color: #ffff00;"> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; if (oReq.readyState == 4 &amp;&amp; oReq.status == 200) {</span><br /><span style="background-color: #ffff00;"> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; document.getElementById("txt1").innerHTML = "Response Received!";</span><br /><span style="background-color: #ffff00;"> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }</span><br /><span style="background-color: #ffff00;"> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }</span><br /><br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; oReq.send();<br /> &nbsp;&nbsp; &nbsp;&nbsp; }<br /> &nbsp;&nbsp; &nbsp;&nbsp; else {<br /> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; window.alert("Error creating XmlHttpRequest object.");<br /> &nbsp;&nbsp; &nbsp;&nbsp; }<br /> &nbsp;&nbsp; }<br /> &lt;/script&gt;<br /> &lt;/head&gt;<br /> &lt;body&gt;<br /> &nbsp;&nbsp; &lt;p&gt;Click this button to hang the browser&lt;/p&gt;<br /> &nbsp;&nbsp; &lt;form name="form1" action="" method="get"&gt;<br /> &nbsp;&nbsp; &nbsp;&nbsp; &lt;input type="button" name="btn1" value="hang me" onClick="hangme()"&gt;<br /> &nbsp;&nbsp; &lt;/form&gt;<br /> &nbsp;&nbsp; &lt;p id="txt1"/&gt;<br /> &lt;/body&gt;<br /> &lt;/html&gt;<br /> &lt;!-- code ends on the line before this one --&gt; </code></span>
 </pre>
<p>The new code is highlighted. Here, we&rsquo;re now calling open with bAsync = true, which means we&rsquo;re making an asynchronous call. This will free up the UI thread to do other things, instead of it being blocked waiting for the response or timeout. If we&rsquo;re not blocked, we can pump messages, and if we can do that, we&rsquo;re not hung!</p>
<p>Now, when the response eventually comes back from the server, we&rsquo;ll need a function to handle it. That is what the highlighted code does. It&rsquo;s our event handler for <a title="XMLHttpRequest Onreadystatechange Event" href="http://msdn.microsoft.com/en-us/library/dd576252(v=VS.85).aspx" target="_blank">onreadystatechange event</a>. As you can see, I&rsquo;m only checking that there response was successful (<a title="XMLHttpRequest Status Property" href="http://msdn.microsoft.com/en-us/library/ms534650(v=VS.85).aspx" target="_blank">status</a> == 200) and that all the data has been received (<a title="XMLHttpRequest readyState Property" href="http://msdn.microsoft.com/en-us/library/ms534361(v=VS.85).aspx" target="_blank">readyState</a> == 4).</p>
<h2>Can We Make It Hang Now?</h2>
<p>Again,</p>
<ol>
<li>Open Internet Explorer and browse to the cant_hangme.aspx page.</li>
<li>Click the &ldquo;hang me&rdquo; button.</li>
</ol>
<p>Voil&agrave;! You&rsquo;ll see the request is sent, but the browser is not hung. When the response finally makes its way back, the text will change; all the while you&rsquo;re still able to interact with the page.</p>
<h2>In Closing</h2>
<p>As stated from the outset, you want to implement your XMLHttpRequest calls asynchronously. This example clearly demonstrates why; you&rsquo;ll improve the responsiveness of your pages, avoid hangs, and most importantly, give your users a better experience.</p>]]></content:encoded>
    </item>
    <item>
      <title>A checklist to help you create clear and accurate responses</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/a-checklist-to-help-you-create-clear-and-accurate-responses</link>
      <pubDate>Tue, 09 Nov 2010 09:49:00 GMT</pubDate>
      <dc:creator><![CDATA[kentwalter]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2010/11/09/a-checklist-to-help-you-create-clear-and-accurate-responses/</guid>
      <description><![CDATA[We&rsquo;ve had some questions and comments from our partners recently about the process of creating...]]></description>
      <content:encoded><![CDATA[<p class="MsoNormal"><span style="font-family: Calibri;"><span style="font-size: small;">We&rsquo;ve had some questions and comments from our partners recently about the process of creating and publishing responses for Windows Error Reporting, so I want to give you some information that will help you create quality responses that get published quickly and really help your customers. <o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: Calibri;"><span style="font-size: small;">I work on the team that approves and publishes responses, and if you&rsquo;ve created more than a few responses, there&rsquo;s a good chance that we&rsquo;ve worked with you to clarify your response content at some point. Since clarifications add time to the approval and publishing process, I wanted to give you a checklist of things to look at before you submit a response, so that your responses will sail through approval and publishing.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;"><span style="font-size: small;">Is the landing page straightforward and uncomplicated? Can you link to a better page, or better yet, a direct download? (The number one reason we clarify responses is that it links to a top-level page, like www.microsoft.com.)<o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;"><span style="font-size: small;">Does the experience described in the template you used match the one that users will actually see? For example, if the template says a direct download is available, the linked URL should point to that download, not to a landing page that requires further action from the customer. Note that the templates you see on Winqual are only a subset of what is available.<o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;"><span style="font-size: small;">Does a landing page link provide what is promised? For example, if the template selected promises an automated update tool, but the landing page for the response describes a manual update process that <i style="mso-bidi-font-style: normal;">doesn&rsquo;t </i>use a tool, the message could be clearer.<o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;"><span style="font-size: small;">Is the solution within easy reach of the user? The guideline we try to hit with every response is three clicks, including the main URL in the response itself.<o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;"><span style="font-size: small;">Is your download as directly and easily usable as it could possibly be? Users have an easier time with an MSI than they do with a self-extractor or .zip file, for example, and the smaller the download, the better.<o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">Does your response require More Info links? These should not be used unless the response does not work without them. There are a couple of reasons for this: <o:p></o:p></span></span></span></p>
<ul>
<li>
<div style="padding-left: 30px;"><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">Any More Info link text will need to be localized, which means that the entire response be available only in English for 4-6 weeks<o:p></o:p></span></span></span></div>
</li>
<li>
<div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; padding-left: 30px; vertical-align: middle; mso-list: l0 level3 lfo1; tab-stops: list 1.5in;"><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">We found through our research that most customers just don&rsquo;t see More Info links. Customers look for links in the body of the response.<o:p></o:p></span></span></span></div>
</li>
</ul>
<p class="MsoNormal"><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><o:p><span style="font-family: Calibri; font-size: small;"></span></o:p></span></p>
<p class="MsoNormal"><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri; font-size: small;">These points cover the majority of response clarifications that we see. Of course, you might need input or have questions before you even create a response. We&rsquo;d be glad to help you out. If you have any questions or any specific needs, let us know. Send email to </span></span><a href="mailto:WERCMS@microsoft.com"><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri; color: #0000ff; font-size: small;">WERCMS@microsoft.com</span></span></a><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">, and we&rsquo;ll give you a hand. Thanks for using Windows Error Reporting and letting us help you.</span></span></span></p>
<p class="MsoNormal"><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;"></span></span></span></p>
<p class="MsoNormal"><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;"></span></span></span></p>
<p class="MsoNormal"><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">Kent Walter<br /></span></span></span><span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-size: small;"><span style="font-family: Calibri;">Windows Error Reporting</span></span></span></p>]]></content:encoded>
    </item>
    <item>
      <title>XPROC Application Hang Cabs in Windows 7</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/xproc-application-hang-cabs-in-windows-7</link>
      <pubDate>Mon, 16 Aug 2010 16:18:00 GMT</pubDate>
      <dc:creator><![CDATA[Dom Roselli]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2010/08/16/xproc-application-hang-cabs-in-windows-7/</guid>
      <description><![CDATA[In Windows 7, we've added some techniques and tools that assist with troubleshooting hangs involving...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">In Windows 7, we've added some techniques and tools that assist with troubleshooting hangs involving multiple processes (if you're interested in the evolutionary history, check out Ryan's <a href="http://blogs.msdn.com/b/wer/archive/2009/03/19/let-there-be-hangs-part-1-not-responding.aspx">"Let There Be Hangs" series</a>, where he describes how hang reporting has changed <a href="http://blogs.msdn.com/wer/archive/2009/03/19/let-there-be-hangs-part-4-better-bucketing-in-windows-vista.aspx">from Windows XP on</a>.) With these improvements come some new concepts, terms, and techniques, which I will attempt to convey so that, after reading this, you can fire up the debugger and understand a bit more about what&rsquo;s going on.</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><br /></span></p>
<h1><span style="font-family: arial,helvetica,sans-serif; font-size: large;">Defined Terms and Concepts</span></h1>
<h2><span style="text-decoration: underline;"><span style="font-family: times new roman,times; font-size: medium;">XPROC cab</span></span></h2>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">The &ldquo;X&rdquo; stand for <i><b>cross </b></i>and the &ldquo;PROC&rdquo; stands for <i><b>process</b></i>. So in other words, we&rsquo;re talking about a cross process dump. And what is that exactly? Well, when an app is hung due to cross-process communication, we capture a dump of the hung process and, when possible, the process determined to be at the end of the &ldquo;wait chain&rdquo; in the inter-process communication. We include both dumps, as well as other analysis related information, in the cab submitted with the error report. XPROC dumps were introduced in Vista, but there were cases where the state of the hang would be lost before the heap dump was captured.</span></p>
<h2><span style="text-decoration: underline;"><span style="font-family: times new roman,times; font-size: medium;">Process Reflection</span></span></h2>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">At its core, Process Reflection is used to make a clone of an existing process. This clone, also referred to as the <i><b>reflected process</b></i>, contains a single thread and a copy of the original process&rsquo; address space. Mark Russinovich talks more about it <a href="https://channel9.msdn.com/shows/Going+Deep/Mark-Russinovich-Inside-Windows-7-Redux/">here</a> (31:00)</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">In the case of hang reporting, when a chain of processes is involved in the hang, we use Process Reflection to create a clone of the process determined to be at the end of the wait chain by virtue of the <a href="http://msdn2.microsoft.com/en-us/library/ms679364.aspx">GetThreadWaitChain</a> API. A heap dump is taken of the clone instead of the original. Cloning takes way less time than generating a heap dump file, so using this technique, we increase our chances of capturing the hung state, than if we were just create a dump of the original process. Also, it&rsquo;s worth pointing out that our single thread in the clone does not execute during hang reporting, so it is simply parked and left idle. Here&rsquo;s what its stack looks like today:</span></p>
<p><span style="font-family: courier new,courier; font-size: small;">ChildEBP RetAddr<br />0028fdbc 77a97b8c ntdll!KiFastSystemCallRet<br />0028fdc0 77af02ef ntdll!ZwWaitForSingleObject+0xc<br />0028fe38 75ef0239 ntdll!RtlpProcessReflectionStartup+0x1bf<br />0028fe44 77ab1ec2 kernel32!BaseThreadInitThunk+0xe<br />0028fe84 77ab1e95 ntdll!__RtlUserThreadStart+0x70<br />0028fe9c 00000000 ntdll!_RtlUserThreadStart+0x1b</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">When it comes to debugging analysis, some things aren&rsquo;t readily apparent with the reflected process. For instance, what about the original threads? Does the handle data conflict with that of the original process? After all, the reflected process is a process in its own right. The short answer is the debugger handles all of this for you. As they say, &ldquo;the devil is in the details&rdquo; so we&rsquo;ll get into how the debugger does this shortly. But first, it&rsquo;s important to understand the files contained in an <a href="http://blogs.msdn.com/b/wer/archive/2009/03/19/let-there-be-hangs-part-4-better-bucketing-in-windows-vista.aspx">AppHangXProcB1</a> bucket&rsquo;s cab. </span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><br /></span></p>
<h1><span style="font-family: arial,helvetica,sans-serif; font-size: large;">On to the Fun Stuff...<br /></span></h1>
<h2><span style="text-decoration: underline;"><span style="font-family: times new roman,times; font-size: medium;">AppHangXProcB1 Cab Contents</span></span></h2>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">So to recap:<br /><br />A hang has occurred. We get a heap dump of the hung process. Using GetThreadWaitChain(), we discover the process at the end of the wait chain and clone it using ProcessRelection.<br />Next we grab a heap dump of the clone. But, we also have to deal with the fact that the thread and handle data from the original aren&rsquo;t copied to the clone. So, in addition to this heap dump, we also capture a mini dump of the original process that has the thread and handle data. The debugger knows how to &ldquo;stitch&rdquo; both files together into a single, coherent target.</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Let&rsquo;s take a look at an example cab:</span></p>
<p><span style="font-family: courier new,courier; font-size: small;">File name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File size&nbsp;&nbsp;&nbsp;&nbsp; Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Time&nbsp;&nbsp; Attrs<br />-----------------------------&nbsp; ---------- ---------- -------- -----<br />&nbsp;&nbsp; iexplore.exe.xml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5496 2010/07/14 16:25:22&nbsp; ----<br />&nbsp;&nbsp; iexplore.exe.6e79.wxhu.dmp.dbgcfg.ini&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 224 2010/07/14 16:25:22&nbsp; ----<br />&nbsp;&nbsp; WER57FB.tmp.ref&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1596362 2010/07/14 16:25:22&nbsp; ----<br />&nbsp;&nbsp; iexplore.exe.6e79.wxhu.dmp&nbsp;&nbsp;&nbsp; 150380775 2010/07/14 16:25:22&nbsp; ----<br />&nbsp;&nbsp; memory.hdmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40343241 2010/07/14 16:26:18&nbsp; ----<br />&nbsp;&nbsp; WERInternalMetadata.xml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3226 2010/07/14 16:26:30&nbsp; ----<br />&nbsp;&nbsp; AppCompat.txt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 47354 2010/07/14 16:26:30&nbsp; ----<br /></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><br />Look at the contents of the dbgcfg.ini file and you'll see something like this:</span></p>
<p><span style="font-family: courier new,courier; font-size: small;">[UserModeDump]<br />default=WER57FB.tmp.ref<br />memory=iexplore.exe.6e79.wxhu.dmp<br />module=iexplore.exe.6e79.wxhu.dmp</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><br />You may be able to discern what&rsquo;s going on here. The *.tmp.ref file is the default target, which is the original process mini dump that I described earlier; the one with the thread and handle data. Using the debugger, you can view the flags passed to <a href="http://msdn.microsoft.com/en-us/library/ms680360(VS.85).aspx">MiniDumpWriteDump</a> used to create this file and thus the data contained within:<br /></span></p>
<p><span style="font-family: courier new,courier; font-size: small;">0:004&gt; .dumpdebug<br />----- User Mini Dump Analysis<br /><br />MINIDUMP_HEADER:<br />Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A793 (61B0)<br />NumberOfStreams 11<br />Flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1104<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0004 MiniDumpWithHandleData<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0100 MiniDumpWithProcessThreadData<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1000 MiniDumpWithThreadInfo<br /><br /></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">The *.wxhu.dmp file is the reflected process dump. Its naming convention hasn&rsquo;t changed from Vista. So, those of you that have been working with XPROC dumps in Vista may have been a little confused when you analyzed this file from a Windows 7 machine, only to see one thread waiting in RtlpProcessReflectionStartup. Open the file directly in the debugger and you&rsquo;ll see that it has full data, thread and memory info, etc&hellip;<br /></span></p>
<p><span style="font-family: courier new,courier; font-size: small;">0:000&gt; .dumpdebug<br />----- User Mini Dump Analysis<br /><br />MINIDUMP_HEADER:<br />Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A793 (61B0)<br />NumberOfStreams 14<br />Flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51B25<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0001 MiniDumpWithDataSegs<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0004 MiniDumpWithHandleData<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0020 MiniDumpWithUnloadedModules<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0100 MiniDumpWithProcessThreadData<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0200 MiniDumpWithPrivateReadWriteMemory<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0800 MiniDumpWithFullMemoryInfo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1000 MiniDumpWithThreadInfo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10000 MiniDumpWithPrivateWriteCopyMemory<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40000 MiniDumpWithTokenInformation</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><br />You&rsquo;ll also probably notice that this dump also has handle data. But again, hang reporting does not duplicate the handle data from the original to the reflected process, so the only handle you should see is a process handle from the original process:</span></p>
<p><span style="font-family: courier new,courier; font-size: small;">Stream 10: type HandleDataStream (12), size 00000038, RVA 08F35E0F<br />&nbsp; 1 descriptors, header size is 16, descriptor size is 40<br />&nbsp;&nbsp;&nbsp; Handle(0000000000000008,"Process","")</span></p>
<h2><span style="font-family: times new roman,times; font-size: medium;"><span style="text-decoration: underline;">Viewing the "Stitched" Target</span></span></h2>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">There are at least two ways you can view the stitched target (using the same cab as an example):</span></p>
<ol>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Extract the files from the cab and open the *.dbgcfg.ini file instead of the individual dump files<br /></span><span style="font-family: courier new,courier; font-size: small;"><br /><b><span style="background-color: #ffff00;">C:\debuggers\cdb -z C:\temp\xproc\iexplore.exe.6e79.wxhu.dmp.dbgcfg.ini</span></b><br /><br />Microsoft (R) Windows Debugger Version 6.13.0001.776 X86<br />Copyright (c) Microsoft Corporation. All rights reserved.<br /><br />Loading Dump File [C:\temp\xproc\iexplore.exe.6e79.wxhu.dmp.dbgcfg.ini]<br />Loading User-mode Dump Configuration File [C:\temp\</span><span style="font-family: courier new,courier; font-size: small;">xproc\</span><span style="font-family: courier new,courier; font-size: small;">iexplore.exe.6e79.wxhu.dmp.dbgcfg.ini,C:,\temp\]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default dump: [WER57FB.tmp.ref]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memory dump: [iexplore.exe.6e79.wxhu.dmp]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; module list dump: [iexplore.exe.6e79.wxhu.dmp]<br /><br />Loading Dump File [C:\temp\xproc\WER57FB.tmp.ref]<br />User Mini Dump File: Only registers, stack and portions of memory are available<br /><br />Loading Dump File [C:\temp\xproc\iexplore.exe.6e79.wxhu.dmp]<br />User Mini Dump File: Only registers, stack and portions of memory are available<br /><br /><br /></span></li>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Open the cab file directly in the debugger. Then open the dbgcfg.ini file from there<br /><br /></span><span style="font-family: courier new,courier; font-size: small;"><b><span style="background-color: #ffff00;">C:\debuggers\</span></b><b><span style="background-color: #ffff00;">cdb &ndash;z C:\temp\xproc\sample.cab</span><br /><br /></b>Microsoft (R) Windows Debugger Version 6.13.0001.776 X86<br />Copyright (c) Microsoft Corporation. All rights reserved.<br /><br />Extracted C:\temp\</span><span style="font-family: courier new,courier; font-size: small;">xproc\</span><span style="font-family: courier new,courier; font-size: small;">000011a00_memory.hdmp from C:\temp\</span><span style="font-family: courier new,courier; font-size: small;">xproc\</span><span style="font-family: courier new,courier; font-size: small;">sample.cab<br /><br />Loading Dump File [C:\temp\</span><span style="font-family: courier new,courier; font-size: small;">xproc\</span><span style="font-family: courier new,courier; font-size: small;">000011a00_memory.hdmp]<br />User Mini Dump File: Only registers, stack and portions of memory are available<br /><br /><span style="background-color: #ffff00;"><b>0:016&gt; .opendump /c "iexplore.exe.6e79.wxhu.dmp.dbgcfg.ini";g</b></span><br />Extracted C:\temp\xproc\000011a00_iexplore.exe.6e79.wxhu.dmp.dbgcfg.ini from C:\temp\</span><span style="font-family: courier new,courier; font-size: small;">xproc\</span><span style="font-family: courier new,courier; font-size: small;">sample.cab<br /><br />Loading Dump File [C:\temp\</span><span style="font-family: courier new,courier; font-size: small;">xproc\</span><span style="font-family: courier new,courier; font-size: small;">000011a00_iexplore.exe.6e79.wxhu.dmp.dbgcfg.ini]<br /><br />Loading User-mode Dump Configuration File [C:\temp\</span><span style="font-family: courier new,courier; font-size: small;">xproc\</span><span style="font-family: courier new,courier; font-size: small;">000011a00_iexplore.exe.6e79.wxhu.dmp.dbgcfg.ini</span><span style="font-family: courier new,courier; font-size: small;">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default dump: [WER57FB.tmp.ref]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memory dump: [iexplore.exe.6e79.wxhu.dmp]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; module list dump: [iexplore.exe.6e79.wxhu.dmp]<br /><br />Loading Dump File [C:\temp\</span><span style="font-family: courier new,courier; font-size: small;">xproc\</span><span style="font-family: courier new,courier; font-size: small;">000011a00_WER57FB.tmp.ref]<br /><br />Loading Dump File [C:\temp\</span><span style="font-family: courier new,courier; font-size: small;">xproc\</span><span style="font-family: courier new,courier; font-size: small;">000011a00_iexplore.exe.6e79.wxhu.dmp]<br /><br /><br /></span></li>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Just run <span style="font-family: courier new,courier;">!analyze</span>. It uses the same procedure outlined in option 2, and it leaves the targets opened once it&rsquo;s finished.</span></li>
</ol>
<p>&nbsp;</p>
<h1><span style="font-family: arial,helvetica,sans-serif; font-size: large;">Last But Not Least!</span></h1>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Make sure you have the latest debugger or else it may not recognize this type of target. You can download it from <a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx">here</a>.<br /></span></p>]]></content:encoded>
    </item>
    <item>
      <title>MDOP error reporting for small, midsize, and large companies</title>
      <link>https://docs.microsoft.com/archive/blogs/wer/mdop-error-reporting-for-small-midsize-and-large-companies</link>
      <pubDate>Sat, 29 May 2010 20:45:34 GMT</pubDate>
      <dc:creator><![CDATA[Kevin_Hill [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/wer/2010/05/29/mdop-error-reporting-for-small-midsize-and-large-companies/</guid>
      <description><![CDATA[It is time to do a blog post that points to some resources about the Microsoft Desktop Optimization...]]></description>
      <content:encoded><![CDATA[<p>It is time to do a blog post that points to some resources about the <a href="http://www.microsoft.com/licensing/software-assurance/mdop.aspx" title="Microsoft Desktop Optimization Pack (MDOP)">Microsoft Desktop Optimization Pack (MDOP)</a>, since we get a lot of questions about how Error Reporting can work better for small, mid-size, and large corporations.&nbsp;&nbsp;This is part of the <a target="_blank" href="http://www.microsoft.com/licensing/software-assurance/default.aspx" title="Microsoft Software Assurance Program">Microsoft Software Assurance Program</a>&nbsp;and provide many of the benefits of Windows Error Reporting that IT Professionals can customize.&nbsp; Part of the customizations enable IT Professionals to better analyze and respond to common problems within their organization.</p>
<p>A SpringBoard Series is available here: <a href="http://technet.microsoft.com/en-us/windows/bb899442.aspx">http://technet.microsoft.com/en-us/windows/bb899442.aspx</a></p>
<p>A great starting place to learn about all MDOP has to offer is here: <a href="http://technet.microsoft.com/en-us/windows/ff383366.aspx">http://technet.microsoft.com/en-us/windows/ff383366.aspx</a></p>
<p>For the Error Reporting Component (DEM) here are two links to videos that are worth watching:</p>
<ul><li><a href="ee526365.aspx" onclick="function onclick()
{
Track('ctl00_mainContentContainer_ctl00|ctl00_mainContentContainer_ctl43',this);
}" title="A Tour of Desktop Error Monitoring" id="ctl00_mainContentContainer_ctl43"><span style="color: #0066dd;">A Tour of Desktop Error Monitoring</span></a>&nbsp;</li>
<li><a href="dd452414.aspx" onclick="function onclick()
{
Track('ctl00_mainContentContainer_ctl00|ctl00_mainContentContainer_ctl44',this);
}" title="Using MDOP Desktop Error Reporting" id="ctl00_mainContentContainer_ctl44"><span style="color: #0066dd;">Using MDOP Desktop Error Reporting</span></a></li>
</ul><p><a s_oidt="0" s_oid="http://blogs.technet.com/mdop" href="http://blogs.technet.com/mdop" onclick="function onclick()
{
Track('ctl00_mainContentContainer_ctl00|ctl00_mainContentContainer_ctl02',this);window.open(this.href);return false;
}" id="ctl00_mainContentContainer_ctl02"><span style="color: #0066dd;">The Official MDOP Blog</span></a></p>]]></content:encoded>
    </item>
  </channel>
</rss>