{"id":11043,"date":"2011-04-04T07:00:00","date_gmt":"2011-04-04T07:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2011\/04\/04\/windows-is-not-a-net-framework-delivery-channel-either\/"},"modified":"2011-04-04T07:00:00","modified_gmt":"2011-04-04T07:00:00","slug":"windows-is-not-a-net-framework-delivery-channel-either","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20110404-00\/?p=11043","title":{"rendered":"Windows is not a .NET Framework delivery channel either"},"content":{"rendered":"<p>We learned a while ago that <a href=\"http:\/\/blogs.msdn.com\/oldnewthing\/archive\/2008\/01\/11\/7065021.aspx\"> Windows is not an MFC delivery channel<\/a>. And, since you asked, <a href=\"http:\/\/blogs.msdn.com\/oldnewthing\/archive\/2008\/01\/11\/7065021.aspx#7135385\"> it&#8217;s not a .NET Framework delivery channel either<\/a>.\n If you&#8217;re developing a program that uses the .NET Framework, you have to have a backup plan if the version of the .NET Framework you need is not installed on the computer. This might mean including a copy of the installer on your CD. It might mean redirecting the user to an appropriate download site. It might just mean telling the user, &#8220;This program requires version XYZ of the .NET Framework.&#8221; Whatever you do, you need to do <i>something<\/i>.\n Windows&nbsp;XP didn&#8217;t come with any version of the .NET Framework. Windows&nbsp;Vista came with version 2, and Windows&nbsp;7 came with version 3.5, but these were provided as optional components which were installed by default. You can go into the Programs and Features control panel to remove them.\n As I recall, the application compatibility folks have a list of programs that treated Windows as a .NET Framework delivery channel; if you install any of them, and the version of the .NET Framework they depend on isn&#8217;t installed, the application compatibility layer will display the informational message that the application neglected to.<\/p>\n<p> <b>Bonus chatter<\/b>: These programs which treated Windows as a .NET Framework delivery channel may have been misled by charts <a href=\"http:\/\/blogs.msdn.com\/pmarcu\/archive\/2010\/02\/05\/which-version-of-net-is-built-into-windows.aspx\"> like this one<\/a> or lists <a href=\"http:\/\/blogs.msdn.com\/astebner\/archive\/2007\/03\/14\/mailbag-what-version-of-the-net-framework-is-included-in-what-version-of-the-os.aspx\"> like this one<\/a> which give the impression that Windows is a .NET Framework delivery channel. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>We learned a while ago that Windows is not an MFC delivery channel. And, since you asked, it&#8217;s not a .NET Framework delivery channel either. If you&#8217;re developing a program that uses the .NET Framework, you have to have a backup plan if the version of the .NET Framework you need is not installed on [&hellip;]<\/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-11043","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-code"],"acf":[],"blog_post_summary":"<p>We learned a while ago that Windows is not an MFC delivery channel. And, since you asked, it&#8217;s not a .NET Framework delivery channel either. If you&#8217;re developing a program that uses the .NET Framework, you have to have a backup plan if the version of the .NET Framework you need is not installed on [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/11043","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=11043"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/11043\/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=11043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=11043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=11043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}