{"id":104793,"date":"2021-02-03T07:00:00","date_gmt":"2021-02-03T15:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/oldnewthing\/?p=104793"},"modified":"2021-02-03T06:54:40","modified_gmt":"2021-02-03T14:54:40","slug":"20210203-00","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20210203-00\/?p=104793","title":{"rendered":"Why is there no useful information in the RetailInfo class?"},"content":{"rendered":"<p>A customer was looking to obtain processor information and found that the Windows Runtime <a href=\"https:\/\/docs.microsoft.com\/uwp\/api\/Windows.System.Profile.RetailInfo\"> <code>RetailInfo<\/code><\/a> class claims to provide <a href=\"https:\/\/docs.microsoft.com\/uwp\/api\/Windows.System.Profile.KnownRetailInfoProperties\"> all sorts of information<\/a>, including <code>ProcessorDescription<\/code>. But when they try to read it, they found that the <code>RetailInfo.Properties<\/code> was blank. What&#8217;s going on?<\/p>\n<p>The <code>RetailInfo<\/code> class is purely marketing information. The idea is that a store takes a floor sample and <a href=\"https:\/\/www.thewindowsclub.com\/retail-demo-mode-windows-10\"> puts it into retail demo mode<\/a>, specifying values for the various <code>RetailInfo<\/code> properties. It then sets up the system on the sales floor in attract mode. The attract mode program can use the information to promote the system. &#8220;Get this \u2329model\u232a computer, with \u2329amount\u232a of RAM for only \u2329price\u232a! Ask any sales associate for more information.&#8221;<\/p>\n<p>Since this is marketing, there is no requirement that the information provided by the sales department in any way resembles reality.<\/p>\n<p>Programs can query whether the system is running in Retail Demo mode and <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/uwp\/monetize\/retail-demo-experience\"> tailor their behavior accordingly<\/a>. For example, a productivity app or game should turn off in-app paid upgrades. a painting app could start with a half-painted picture instead of a blank canvas. A program that <a title=\"I tried to adjust the time on my alarm clock. I failed.\" href=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/20191104-01\/?p=103052\"> requires you create an account in order to use it to configure matching hardware<\/a> could transform itself into an advertisement for that hardware.<\/p>\n<p>If the system is not in retail demo mode, then the <code>IsDemoModeEnabled<\/code> property is <code>false<\/code>, and the <code>Properties<\/code> are empty.<\/p>\n<p>Okay, but back to the original question. If you want to know what processor the system has, you can start by calling <code>Get\u00adNative\u00adSystem\u00adInfo<\/code> to determine the architecture, and then you can call the <code>Is\u00adProcessor\u00adFeature\u00adPresent<\/code> function to see which features are supported by the current processor. You can also use the <code>__cpuid<\/code> intrinsic to extract CPU manufacturer details.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s just marketing nonsense.<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[25],"class_list":["post-104793","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-code"],"acf":[],"blog_post_summary":"<p>It&#8217;s just marketing nonsense.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/104793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=104793"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/104793\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=104793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=104793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=104793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}