<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Server Core</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/server_core/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/server_core/feed.xml</link>
    <description />
    <lastBuildDate>Fri, 17 Apr 2015 17:28:54 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Server Core Blog: Minimizing Image Size with Features on Demand and Component Cleanup</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/server-core-blog-minimizing-image-size-with-features-on-demand-and-component-cleanup</link>
      <pubDate>Wed, 22 Jan 2014 11:27:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Herila [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2014/01/22/server-core-blog-minimizing-image-size-with-features-on-demand-and-component-cleanup/</guid>
      <description><![CDATA[We&#39;ve been working hard over the past year to make Server Core even smaller and leaner than ever...]]></description>
      <content:encoded><![CDATA[<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">We&#39;ve been working hard over the past year to make Server Core even smaller and leaner than ever before. In Windows Server 2012, we made Server Core the default installation option and enabled 13 roles for installation on Server Core. In Windows Server 2012 R2, we&#39;ve now enabled all but two roles for installation on Server Core.</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">In Windows Server 2012, an installation of Server with a GUI needs 11 GB of disk space (excluding page file). In Windows Server 2012 R2, that same installation needs just 9.8 GB of space to achieve the same exact level of installation (in terms of the roles and features available on disk). Similarly, we&#39;ve reduced the footprint of Server Core from 6 GB to 5.2 GB! The decrease in disk space requirements means you can fit more Windows Server 2012 R2 Server Core VHDs on a storage volume of the same size than you could with Windows Server 2012.</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">A significant chunk of disk space is occupied by features that are available for installation but aren&#39;t installed. As you install updates on a server, the footprint continues to grow. Some security scanning tools may warn that unpatched files exist within the c:\windows\winsxs directory. In fact, these are not security vulnerabilities. Rather, they are archived versions of updated system files that may be restored in the event you choose to uninstall an update.</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">Microsoft has invested significantly in update technology, and we offer ultimate flexibility in terms of installing updates. Consider:</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<ol style="margin-left:.375in;direction:ltr;margin-top:0in;margin-bottom:0in;font-family:Calibri;font-size:11.0pt;font-weight:normal;font-style:normal;">
<li style="margin-top:0;margin-bottom:0;vertical-align:middle;"><span style="font-family:Calibri;font-size:11.0pt;font-weight:normal;font-style:normal;color:black;">Updates can be installed in any order</span></li>
<li style="margin-top:0;margin-bottom:0;vertical-align:middle;"><span style="font-family:Calibri;font-size:11.0pt;color:black;">You can uninstall any update in any order, even if that order is different from the order in which you installed the updates in the first place</span></li>
<li style="margin-top:0;margin-bottom:0;vertical-align:middle;"><span style="font-family:Calibri;font-size:11.0pt;color:black;">We support sophisticated error detection and recovery to protect the component store from installation failures</span></li>
</ol>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">However, this flexibility results in an increase in disk usage.</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:14.0pt;color:#2e75b5;">Introducing Component Cleanup</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">To reduce the impact of this flexibility, in Windows Server 2012 R2, we are introducing <span style="font-weight:bold;">Component Cleanup</span>, which enables administrators to further reduce the disk footprint of their servers while leaving feature installation unaffected. Here&#39;s what Component Cleanup does:</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<ol style="margin-left:.375in;direction:ltr;margin-top:0in;margin-bottom:0in;font-family:Calibri;font-size:11.0pt;font-weight:normal;font-style:normal;">
<li style="margin-top:0;margin-bottom:0;vertical-align:middle;"><span style="font-family:Calibri;font-size:11.0pt;font-weight:normal;font-style:normal;color:black;">Compresses all manifest files, so that they take up less disk space</span></li>
<li style="margin-top:0;margin-bottom:0;vertical-align:middle;"><span style="font-family:Calibri;font-size:11.0pt;color:black;">Compresses inactive payloads (i.e. uninstallation data for hotfixes)</span></li>
</ol>
<p style="margin:0in;margin-left:.375in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">Component Cleanup takes about 45 minutes to run on our average test hardware and results in a further 1.2 GB savings on a Server with a GUI disk image. It doesn&#39;t make features unavailable for installation and it doesn&#39;t require computers to have a network connection at all. All compression is done locally and then any decompression, if needed, is done on demand. You can run Component Cleanup by using dism.exe:</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:&#39;Courier New&#39;;font-size:11.0pt;color:black;">Dism /Online /Cleanup-Image /StartComponentCleanup</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;"><span style="color:black;">More information is available in our TechEd presentation which was presented in New Orleans on June 3, 2013.<span>&nbsp; </span>We also presented this content at TechEd in Madrid, Spain on June 25. A link to the recording is available here: </span><a href="https://channel9.msdn.com/Events/TechEd/Europe/2013/MDC-B339#fbid=GgZkc8YUgzu">https://channel9.msdn.com/Events/TechEd/Europe/2013/MDC-B339#fbid=GgZkc8YUgzu</a><span style="color:black;"> </span></p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:14.0pt;color:#2e75b5;">Quick Trick: Remove Disabled Feature Payloads using Features on Demand</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">In Windows Server 2012, we introduced <span style="font-weight:bold;">Features on Demand </span>which enables administrators to remove the file payloads of unneeded features from their Windows Servers, thereby reducing the needed disk space significantly. You can set up a Windows Server however you like and then remove the payloads for any roles that aren&#39;t enabled by running just two PowerShell commands:</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<ol style="margin-left:.375in;direction:ltr;margin-top:0in;margin-bottom:0in;font-family:Calibri;font-size:11.0pt;font-weight:normal;font-style:normal;">
<li style="margin-top:0;margin-bottom:0;vertical-align:middle;"><span style="font-family:&#39;Courier New&#39;;font-size:11.0pt;font-weight:normal;font-style:normal;color:black;">$L = Get-WindowsFeature | Where InstallState -EQ Disabled</span></li>
<li style="margin-top:0;margin-bottom:0;vertical-align:middle;"><span style="font-family:&#39;Courier New&#39;;font-size:11.0pt;color:black;">Uninstall-WindowsFeature $L -Remove</span></li>
</ol>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">Here&#39;s what each line does:</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<ol style="margin-left:.375in;direction:ltr;margin-top:0in;margin-bottom:0in;font-family:Calibri;font-size:11.0pt;font-weight:normal;font-style:normal;">
<li style="margin-top:0;margin-bottom:0;vertical-align:middle;"><span style="font-family:Calibri;font-size:11.0pt;font-weight:normal;font-style:normal;color:black;">first, get the list of features that aren&#39;t installed but have payloads present on disk</span></li>
<li style="margin-top:0;margin-bottom:0;vertical-align:middle;"><span style="font-family:Calibri;font-size:11.0pt;color:black;">remove the payloads from that list</span></li>
</ol>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">Once a feature&#39;s payload is removed in this way, the features files and any patches related to it are removed from the local disk. As a result, the feature can&#39;t be installed without an external, remote source. By default, Windows can download missing or corrupt features from Windows Update. The path to a Windows image that contains the desired features can also be specified on the command line. For example:</p>
<p style="margin:0in;font-family:&#39;Courier New&#39;;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin:0in;font-family:&#39;Courier New&#39;;font-size:11.0pt;color:black;">PS&gt; Install-WindowsFeature &ndash;FeatureName Server-Gui-Shell &ndash;Source wim:x:\sources\install.wim:4</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt;color:black;">&nbsp;</p>
<p style="margin-top:0pt;margin-bottom:8pt;font-family:Calibri;font-size:11.0pt;">(x:\sources\install.wim is the path to the install.wim<span style="font-style:italic;"> </span>file on a retail Windows Server DVD-ROM or mounted ISO)</p>]]></content:encoded>
    </item>
    <item>
      <title>Detecting Server Core in Code</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/detecting-server-core-in-code</link>
      <pubDate>Mon, 30 Sep 2013 11:56:14 GMT</pubDate>
      <dc:creator><![CDATA[Ben Herila [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2013/09/30/detecting-server-core-in-code/</guid>
      <description><![CDATA[Administrators can move between Server Core and Server with a GUI by installing or uninstalling...]]></description>
      <content:encoded><![CDATA[<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">Administrators can move between Server Core and Server with a GUI by installing or uninstalling various features, so it's important that applications designed for Server Core are able to react and behave appropriately whether running in Server Core or Server with a GUI. One way of doing this is by dynamically loading dependent libraries (for example, using <span class="SpellE">LoadLibrary</span> or <span class="SpellE">LoadLibraryEx</span> instead of static import libraries) and modifying your application's behavior if a required dependency isn't found. </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">Another way is by checking for the installation state of various Windows features and modifying your application's behavior accordingly. We make this possible through the public <span class="SpellE">Dism</span> APIs. </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">Here is some sample C++ code. It won't compile straight away, but reading over this code snippet should give you an idea about how you can check for Server Core. </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><strong><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">What the code does</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">The code calls the <span class="SpellE">Dism</span> API to check the installation state of a Windows feature. </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><strong><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">How to use it</span></strong></p>
<ol style="margin-top: 0in;" type="1" start="1">
<li class="MsoNormal" style="color: black; mso-list: l0 level1 lfo1; tab-stops: list .5in; vertical-align: middle;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';">Determine which functionalities of your app are not available in Server Core. Features that are not available in Server Core include MMC, Internet Explorer, MSHTML, and many GUI libraries such as HTML Help and WPF. Locate the <span class="SpellE">FeatureNames</span> of those features by calling <span class="SpellE"><em>dism</em></span><em> /online /get-features</em> from a command prompt. </span></li>
<li class="MsoNormal" style="color: black; mso-list: l0 level1 lfo1; tab-stops: list .5in; vertical-align: middle;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';">Complete the TODO: block with your own logic that should execute when the features you selected in the previous step are not installed. </span></li>
<li class="MsoNormal" style="color: black; mso-list: l0 level1 lfo1; tab-stops: list .5in; vertical-align: middle;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';">Optionally, add additional cases to check for the other installation states. The code checks only for "Disabled with Payload Removed" state. Other states are discussed on the MSDN documentation (link below).</span></li>
</ol>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><strong><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">Code sample</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">HRESULT <span class="SpellE"><span class="GramE">CheckFeatureState</span></span></span><span class="GramE"><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">(</span></strong></span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">_<span class="SpellE">featureName</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">)</span></strong><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">{</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp; </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: green; background: white;">// Call to get feature info from <span class="SpellE">Dism</span> API: </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="SpellE"><span class="GramE">hr</span></span> </span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">=</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> <span class="SpellE">DismGetFeatureInfo</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">(</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">session</span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">,</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> _<span class="SpellE">featureName</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">,</span></strong><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;">NULL</span></strong><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">,</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> <span class="SpellE">DismPackageNone</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">,</span></strong><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">&amp;</span></strong><span class="SpellE"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">featureInfo</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">);</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp; </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="GramE"><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;">if</span></strong></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">(</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">S_OK </span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">!=</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> <span class="SpellE">hr</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">)</span></strong><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">{</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Log</span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">::</span></strong><span class="GramE"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">Error</span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">(</span></strong></span><span class="SpellE"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: gray; background: white;">L"DismGetFeatureInfo</span></span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: gray; background: white;"> failed with error code: %d"</span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">)</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="GramE"><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;">return</span></strong></span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> <span class="SpellE">hr</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">;</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp; </span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">}</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp; </span><span class="GramE"><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;">if</span></strong></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">(</span></strong><span class="SpellE"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">featureInfo</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">-&gt;</span></strong><span class="SpellE"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">FeatureState</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">!=</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> <span class="SpellE">DismStateRemoved</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">) {</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: green; background: white;">// Feature is "Disabled with payload removed"</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: green; background: white;">// TODO: Adapt app logic here or return appropriate value</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;</span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">}</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="SpellE"><span class="GramE">hr</span></span> </span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">=</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> <span class="SpellE">DismDelete</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">(</span></strong><span class="SpellE"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">featureInfo</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">);</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp; </span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: green; background: white;">// free memory allocated by <span class="SpellE">DismGetFeatureInfo</span>.</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp; </span><span class="GramE"><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;">if</span></strong></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">(</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">S_OK </span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">!=</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> <span class="SpellE">hr</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">)</span></strong><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">{</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Log</span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">::</span></strong><span class="GramE"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">Error</span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">(</span></strong></span><span class="SpellE"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: gray; background: white;">L"DismDelete</span></span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: gray; background: white;"> failed with error code: %d"</span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">);</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="GramE"><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;">return</span></strong></span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> <span class="SpellE">hr</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">;</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp; </span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">}</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp; <span class="SpellE"><span class="GramE">featureInfo</span></span> </span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">=</span></strong><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;">NULL</span></strong><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">;</span></strong></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp;&nbsp;&nbsp; </span><span class="GramE"><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;">return</span></strong></span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"> <span class="SpellE">hr</span></span><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">;</span></strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;">&nbsp; </span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: navy; background: white;">}</span></strong><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">You can read more about the <span class="SpellE">Dism</span> API on MSDN: </span><a href="https://msdn.microsoft.com/library/windows/desktop/hh824738.aspx"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';">https://msdn.microsoft.com/library/windows/desktop/hh824738.aspx</span></a></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">Thanks for supporting Server Core through your development efforts!</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">&nbsp;</span></p>
<p style="margin: 0in; margin-bottom: .0001pt;"><em><span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: black;">The Server Core Team</span></em></p>]]></content:encoded>
    </item>
    <item>
      <title>Video: Converting Server with a GUI to Minimal Server</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/video-converting-server-with-a-gui-to-minimal-server</link>
      <pubDate>Mon, 28 Jan 2013 10:20:00 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2013/01/28/video-converting-server-with-a-gui-to-minimal-server/</guid>
      <description><![CDATA[The Minimal Server Interface provides a convenient way to enjoy some of the benefits of Server Core,...]]></description>
      <content:encoded><![CDATA[<p>The Minimal Server Interface provides a convenient way to enjoy some of the benefits of Server Core, including a reduced attack surface and fewer reboots, while still maintaining local graphical management capabilities with many MMC snap-ins, local Server Manager, and support for non-Windows-8-style and non-WPF graphical applications.&nbsp; This video, hosted by Senior Group Program Manager Andrew Mason and our Tech Writer, Jaime Ondrusek, demonstrates the ability to switch a server from Server with a GUI mode to the Minimal Server Interface.</p>
<p>&nbsp;</p>[Video]]]></content:encoded>
    </item>
    <item>
      <title>Using Features on Demand with Updated Systems and Patched Images</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/using-features-on-demand-with-updated-systems-and-patched-images</link>
      <pubDate>Mon, 05 Nov 2012 15:58:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Herila [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2012/11/05/using-features-on-demand-with-updated-systems-and-patched-images/</guid>
      <description><![CDATA[As we&rsquo;ve discussed in the past, Features on Demand makes it easy to reduce the footprint of...]]></description>
      <content:encoded><![CDATA[<p>As we&rsquo;ve discussed in the past, Features on Demand makes it easy to reduce the footprint of your Windows Servers by removing optional components you don&rsquo;t need from your server&rsquo;s local disk. When you install Server Core (the default installation option for Windows Server 2012), the files needed for the Server with a GUI functionality are removed in this way. We call features in this state &ldquo;Disabled with Payload Removed,&rdquo; or &ldquo;Removed&rdquo; for short.</p>
<p>If you later want to reinstall one of these features, Windows needs to use a remote installation source because, of course, the files aren&rsquo;t available (&ldquo;staged&rdquo;) on the local disk.By default, we use Windows Update as an installation source. However, not all servers have connectivity or access to Windows Update. If you don&rsquo;t have connectivity to Windows Update, you need to supply an installation source, e.g.</p>
<p style="margin-left: .5in;"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; line-height: 107%; font-family: Consolas;">[PowerShell]<br /> <strong style="mso-bidi-font-weight: normal;"><span style="color: #1f4e79; mso-themecolor: accent1; mso-themeshade: 128;">Install-<span class="SpellE">WindowsFeature</span></span></strong><span style="color: #1f4e79; mso-themecolor: accent1; mso-themeshade: 128;"> Server-<span class="SpellE">Gui</span>-Shell <strong style="mso-bidi-font-weight: normal;">-Source</strong> <span class="SpellE">wim:d</span>:\sources\install.wim:4</span></span></p>
<p>Note:<strong style="mso-bidi-font-weight: normal;"> </strong>WSUS is not supported as an installation source.</p>
<p>Let&rsquo;s see how this breaks down:</p>
<p>First, the <em style="mso-bidi-font-style: normal;">-Source</em> flag tells Windows to use a specified source. You can specify a directory to a <span class="SpellE"><em style="mso-bidi-font-style: normal;">winsxs</em></span> folder e.g. on a mapped network drive, mounted WIM or VHD, or local disk. You can also specify the path to a Windows Image (WIM) file directly, by using the <span class="SpellE"><em style="mso-bidi-font-style: normal;">wim</em></span><em style="mso-bidi-font-style: normal;">:</em> prefix and specifying the image index immediately after the filename, in this <span class="GramE">case<strong style="mso-bidi-font-weight: normal;"> </strong><em style="mso-bidi-font-style: normal;">:4</em></span><em style="mso-bidi-font-style: normal;"> </em>for <span class="SpellE"><em style="mso-bidi-font-style: normal;">Serverdatacenter</em></span>. (If you are running Standard edition<span class="GramE">, <em style="mso-bidi-font-style: normal;">:</em></span><em style="mso-bidi-font-style: normal;">2</em> will give you the full <em style="mso-bidi-font-style: normal;">Standard</em> image).For completeness, the default image indices are as follows:</p>
<p style="margin-left: .5in;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">(e.g. </span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: #1f4e79; mso-themecolor: accent1; mso-themeshade: 128;">dism.exe /get-<span class="SpellE">wiminfo</span> /<span class="SpellE">wimfile:d</span>:\sources\<span class="SpellE"><span class="GramE">install.wim</span></span><span class="GramE"> <span style="color: green;">)</span></span></span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">&nbsp;</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Index :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> 1</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Name :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> <strong style="mso-bidi-font-weight: normal;">Windows Server 2012 SERVERSTANDARDCORE</strong></span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Description :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> Windows Server 2012 SERVERSTANDARDCORE</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Size :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> 7,195,580,708 bytes</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">&nbsp;</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Index :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> 2</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Name :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> <strong style="mso-bidi-font-weight: normal;">Windows Server 2012 SERVERSTANDARD</strong></span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Description :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> Windows Server 2012 SERVERSTANDARD</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Size :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> 11,999,848,937 bytes</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">&nbsp;</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Index :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> 3</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Name :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> <strong style="mso-bidi-font-weight: normal;">Windows Server 2012 SERVERDATACENTERCORE</strong></span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Description :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> Windows Server 2012 SERVERDATACENTERCORE</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Size :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> 7,176,243,455 bytes</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">&nbsp;</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Index :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> 4</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Name :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> <strong style="mso-bidi-font-weight: normal;">Windows Server 2012 SERVERDATACENTER</strong></span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Description :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> Windows Server 2012 SERVERDATACENTER</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; background: white; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;">Size :</span></span><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: green;"> 11,995,224,677 bytes</span></p>
<p>&nbsp;</p>
<p>These correspond to:</p>
<ol>
<li>
<div class="MsoListParagraphCxSpFirst" style="text-indent: -.25in; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font: 7.0pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Standard Core (with optional GUI features removed)</div>
</li>
<li>
<div class="MsoListParagraphCxSpMiddle" style="text-indent: -.25in; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font: 7.0pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Standard (all features except .NET 3.5. present)</div>
</li>
<li>
<div class="MsoListParagraphCxSpMiddle" style="text-indent: -.25in; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font: 7.0pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Datacenter Core (optional GUI features removed)</div>
</li>
<li>
<div class="MsoListParagraphCxSpLast" style="text-indent: -.25in; mso-list: l0 level1 lfo1;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font: 7.0pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Datacenter (all features except .NET 3.5. present)</div>
</li>
</ol>
<p>You can also use the path to a <span class="SpellE"><em style="mso-bidi-font-style: normal;">WinSxS</em></span> folder as a <em style="mso-bidi-font-style: normal;">-Source</em>. If you mount the<em style="mso-bidi-font-style: normal;"> <span class="SpellE">install.wim</span> </em>file from the Windows Setup media, you&rsquo;ll find the <span class="SpellE"><em style="mso-bidi-font-style: normal;">WinSxS</em></span> folder as a sub-folder of the <em style="mso-bidi-font-style: normal;">Windows</em> folder.</p>
<p>If you are using a source that is located on a network share, you might see an error message that resembles the following:</p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: #1f4e79; mso-themecolor: accent1; mso-themeshade: 128;">Install-<span class="SpellE">WindowsFeature</span> Server-<span class="SpellE">Gui</span>-Shell -<span class="SpellE">Source<span class="GramE">:wim:z</span></span>:\install.wim:2</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">Install-<span class="SpellE"><span class="GramE">WindowsFeature</span></span><span class="GramE"> :</span> The request to add or remove features on the specified server failed.</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">Installation of one or more roles, role services, or features failed.</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">The source files could not be downloaded.</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">Use the "source" option to specify the location of the files that are required to restore the feature. For more information on specifying a source location,</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span class="GramE"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">see</span></span><a href="https://go.microsoft.com/fwlink/?LinkId=243077"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas;">https://go.microsoft.com/fwlink/?LinkId=243077</span></a><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">. Error: 0x800f0906</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">At line<span class="GramE">:1</span> char:1</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">+ Install-<span class="SpellE">WindowsFeature</span> Server-<span class="SpellE">Gui</span>-<span class="SpellE">Mgmt</span>-<span class="SpellE">Infra<span class="GramE">,Server</span></span>-<span class="SpellE">Gui</span>-Shell -<span class="SpellE">Source:wim:z</span>:\ins ...</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">&nbsp;&nbsp;&nbsp; + <span class="SpellE">CategoryInfo</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <span class="SpellE">InvalidOperation</span>: (<span class="GramE">@{</span><span class="SpellE">Vhd</span>=; Credent...Name=<span class="SpellE">localhost</span>}:<span class="SpellE">PSObject</span>) [Install-<span class="SpellE">WindowsFeature</span>], Exception</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: red;">&nbsp;&nbsp;&nbsp; + <span class="SpellE"><span class="GramE">FullyQualifiedErrorId</span></span><span class="GramE"> :</span> DISMAPI_Error__Cbs_Download_Failure,Microsoft.Windows.ServerManager.Commands.AddWindowsFeatureCommand</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas;">&nbsp;</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: #1f4e79; mso-themecolor: accent1; mso-themeshade: 128;">Success Restart Needed Exit Code&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Feature Result</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: #1f4e79; mso-themecolor: accent1; mso-themeshade: 128;">------- -------------- ---------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --------------</span></p>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><span style="font-size: 9.0pt; line-height: 107%; font-family: Consolas; color: #1f4e79; mso-themecolor: accent1; mso-themeshade: 128;">False&nbsp;&nbsp; No&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Failed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {}</span></p>
<div style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-align: center; text-autospace: none;" align="center"><hr align="center" size="2" width="100%" /></div>
<p style="margin-top: 0in; margin-right: 0in; margin-bottom: .0001pt; margin-left: .5in; text-autospace: none;"><strong style="mso-bidi-font-weight: normal;"><em style="mso-bidi-font-style: normal;">Example: Installing Server-<span class="SpellE">Gui</span>-Shell (Server Graphical Shell) on a Windows Server 2012 Standard box.</em></strong></p>
<p>&nbsp;</p>
<p>That&rsquo;s because <em style="mso-bidi-font-style: normal;">Install-<span class="SpellE">WindowsFeature</span> </em>uses the <em style="mso-bidi-font-style: normal;">machine account credentials</em> &ndash; not your local user account credentials &ndash; to access the installation source. If the installation source is located on a network share, ensure that the machine account has permissions to read from the network share.</p>
<p>If you were to install an optional feature immediately after installing Windows Server 2012, you would have the RTM version of the binaries both installed on your server and on your installation media source. That&rsquo;s all well and good. However, let&rsquo;s say you <em style="mso-bidi-font-style: normal;">update</em> your server using Windows Update and an old version of a feature is superseded. Later, you want to reinstall that updated feature but the binaries have been removed from your system. When Windows goes to look at your installation source, it won&rsquo;t be able to find the files for the feature anymore because it is looking for the <em style="mso-bidi-font-style: normal;">updated</em> binaries. Therefore, you need to patch your installation source as well.</p>
<p>My colleague Joseph Conway has written a post about how to actually go about updating your Windows images (your installation sources) using patches from the Microsoft Update Catalog. Read more here: <a href="https://blogs.technet.com/b/joscon/archive/2012/11/14/how-to-update-local-source-media-to-add-roles-and-features.aspx">https://blogs.technet.com/b/joscon/archive/2012/11/14/how-to-update-local-source-media-to-add-roles-and-features.aspx</a></p>
<p>It is important to note that when you update your installation source, you are <em style="mso-bidi-font-style: normal;">adding</em> additional versions to the component store. Old versions of components remain available for servers that need those versions. However, when you install a Windows feature using <em style="mso-bidi-font-style: normal;">Install-<span class="SpellE">WindowsFeature</span>,</em> Windows kicks off a Windows Update scan immediately after installing the feature. This ensures that (at least for servers with Windows Update enabled), accidentally installing an old version of a feature won&rsquo;t compromise the security of the system.</p>
<p>Please let me know if you have any issues using the new Features on Demand functionality. We&rsquo;d love to hear our customers&rsquo; feedback and I look forward to answering any questions that you may have.</p>]]></content:encoded>
    </item>
    <item>
      <title>Configuring the Minimal Server Interface</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/configuring-the-minimal-server-interface</link>
      <pubDate>Wed, 09 May 2012 09:47:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Herila [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2012/05/09/configuring-the-minimal-server-interface/</guid>
      <description><![CDATA[In our previous blog posting, we introduced the Minimal Server Interface. At the end, we noted that...]]></description>
      <content:encoded><![CDATA[<p>In our <a href="https://blogs.technet.com/b/server_core/archive/2012/04/19/server-core-in-windows-server-2012.aspx">previous blog posting</a>, we introduced the Minimal Server Interface. At the end, we noted that there are three particular Windows features (among others, of course) that can be installed on any server running Windows Server 2012:</p>
<ol>
<li>Server Core &ndash; always installed and enabled; the baseline feature for all Windows Servers</li>
<li>Server Graphical Management Tools &amp; Infrastructure &ndash; functionality for Minimal Server Interface</li>
<li>Server Graphical Shell &ndash; equivalent to Server with a GUI</li>
</ol>
<p>We also promised to explain how to combine these features in order to minimize your server&rsquo;s surface area while preserving just enough of the functionality you need; and indeed, that&rsquo;s our topic today.<br /> There are two ways to configure the Minimal Server Interface: either start with Server with a GUI and uninstall the <em>Server Graphical Shell</em> feature, or start with Server Core and install the <em>Server Graphical Management Tools &amp; Infrastructure</em> feature.</p>
<h2>What is affected when I uninstall the Server Graphical Shell?</h2>
<p>In some cases, when you uninstall the Server Graphical Shell, Windows features that depend on Server Graphical Shell will also be uninstalled. In Server Manager, a pop-up dialog box will warn you about what will be uninstalled. Non-Windows features, such as third-party software and other Microsoft products that don&rsquo;t ship as part of Windows Server 2012, are not affected by the Install-WindowsFeature and Uninstall-WindowsFeature cmdlets. If you aren&rsquo;t sure what an installation or uninstallation action is going to affect, you can add the -WhatIf flag to see what will be installed or uninstalled along with your selection.</p>
<blockquote>
<p><strong><em>Uninstall-WindowsFeature Server-Gui-Shell -WhatIf </em></strong></p>
</blockquote>
<p>Settings associated with uninstalled features are also removed in some cases. You should back up any settings associated with a feature before you uninstall that feature.</p>
<h2>Installing Minimal Server Interface</h2>
<p>Because the Minimal Server Interface is situated between the Server Core and Server with a GUI modes, you can either install features on Server Core or remove features from Server with a GUI to reach the Minimal Server Interface installation state.</p>
<p><em><strong>Caveat: Features on Demand. </strong></em>When you start with a Server Core installation, the files needed to install graphical features aren't installed on the local disk. This is actually a feature called <em>remotification</em> which involves removing the binaries from the local disk while preserving metadata to allow the binaries to be securely reintroduced at a later date. When you try to install a GUI feature, the necessary files are downloaded from Windows Update using a feature called <em>Features on Demand</em>. An internet connection is required and several gigabytes of data will be downloaded. If you don&rsquo;t want to download all this data, or if your server doesn&rsquo;t have an internet connection, you can supply an alternate installation source on the command line or configure one via Group Policy. For more information, see the <a href="https://technet.microsoft.com/en-us/library/hh831786.aspx">Using Windows Server &ldquo;8&rdquo; Installation Options</a> document on technet.&nbsp;</p>
<ul>
<li>To install <em>Server Graphical Management Tools &amp; Infrasturcture</em>on Server Core:<ol>
<li>Open PowerShell, then run the following command: <strong><em>Install-WindowsFeature Server-Gui-Mgmt-Infra</em></strong></li>
<li>Restart the server when prompted (or run <em><strong>Restart-Computer</strong></em> in PowerShell)</li>
</ol></li>
</ul>
<ul>
<li>To remove <em>Server Graphical Shell</em>on Server with a GUI (either locally or remotely) using Windows PowerShell:<ol>
<li>Open PowerShell, then run the following command: <em><strong>Uninstall-WindowsFeature Server-Gui-Shell -WhatIf</strong></em></li>
<li>You should see <em>Collecting data... </em>for a few moments, and then a listing of the installation summary will be displayed in the PowerShell window. This summary lists any other features that will also be uninstalled at this time.
<blockquote>
<pre>PS C:\&gt; Uninstall-WindowsFeature Server-Gui-Shell -WhatIf
What if: Checking if running in 'WhatIf' Mode.
What if: Performing uninstallation for "[User Interfaces and Infrastructure] Server Graphical Shell".
What if: This server may need to be restarted after the removal completes.
           
Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    Maybe          Success        {Server Graphical Shell}</pre>
</blockquote>
</li>
<li>Restart the server when prompted (or run <em><strong>Restart-Computer</strong></em> in PowerShell)</li>
</ol></li>
</ul>
<p>You can also use the Server Manager GUI remotely to install or uninstall Windows features, including &ldquo;User Interfaces and Infrastructure,&rdquo; from a Windows 8 &ldquo;client&rdquo; PC or another Windows Server 2012 server that already has Server Manager installed. In other words, you can use Server Manager remotely to manage a server running in Server Core mode.</p>
<ul><ol>
<li>Open Server Manager, click <em>Manage</em>, then <em>Remove Roles and Features</em>.</li>
<li>On the Server Selection page, select the local server (and/or any servers you want to manage) and click <em>Next. </em></li>
<li>On the <em>Features </em>page, expand <em>User Interfaces and Infrastructure</em> and uncheck <em>Server Graphical Shell</em>. Make sure that <em>Graphical Management Tools and Infrastructure</em> remains <strong>checked</strong>; unchecking that feature will uninstall Minimal Server Interface as well, resulting in a Server Core Installation.</li>
<li>At this point, Server Manager will warn you of the impending removal of any dependent features -- such as <em>Desktop Experience</em> -- that you didn't explicitly select to remove. If you don't see a warning, then no additional Windows features will be affected. Accept</li>
<li>Restart the server when prompted.</li>
</ol></ul>
<p>After you restart the server, Windows will be configured with the Minimal Server Interface. Here&rsquo;s what it will looks like after you log in:</p>
<p align="center"><img width="640" height="480" alt="Server Manager in the Minimal Server Interface" src="https://i.imgur.com/R0Hs6l.png" /></p>
<p align="center"><em><strong>Figure 1. </strong>The Minimal Server Interface after signing in</em></p>
<p>You&rsquo;ll see <em>Server Manager</em>, which is a graphical tool you can use to manage the local server and other remote servers. Behind <em>Server Manager</em> (which starts maximized on most configurations) you&rsquo;ll find a command prompt, which you can use to start other applications and management tools (such as &ldquo;<em>servermanager</em>&rdquo; if you close Server Manager, or even &ldquo;<em>powershell</em>&rdquo; to get a Windows PowerShell command line environment).</p>
<p>If you close everything, you&rsquo;ll be left with a black screen. To get back to a command line environment or Server Manager, press CTRL+ALT+DEL and select <em>Task Manager</em>. From there, click <em>More details, </em>then <em>File&gt;Run New Task</em>. Type the command you want to run (such as <em>&ldquo;cmd&rdquo;</em> to get your command prompt back) and click OK or press Enter.</p>
<h2>Next Steps</h2>
<p>Now that you have installed the Minimal Server Interface, you can use the command line to install software products (using <em>msiexec</em> or the product&rsquo;s<em> setup.exe</em>), Windows features, and server roles. You can also use the local management tools provided by Server Manager. On the <em>Tools</em> menu, you&rsquo;ll find quick shortcuts to most of your MMC snap-ins. Server Manager can also be used to manage other servers, including servers that don&rsquo;t have Server Manager installed (such as those running in Server Core mode). You can &ldquo;Add other servers to manage&rdquo; and then right-click on servers in the list view to see what management options are available for that particular server. Here are some examples of things you can do:</p>
<ul>
<li>Launch Disk Management to remotely configure hard disk partitions</li>
<li>Manage Remote Desktop scenarios and licensing (RDSH)</li>
<li>Configure Failover Clusters</li>
<li>Open MMC snap-ins</li>
<li>Open a remote PowerShell session</li>
</ul>
<p>In some cases, you can even manage multiple servers simultaneously, from the same interface. Server Manager is a very powerful tool indeed. It is important to note, however, that all functionality exposed through Server Manager is also available via Windows PowerShell both locally and remotely.&nbsp;</p>
<p>It's also a great idea to start exploring PowerShell to experience the power and control that our new command line interfaces offer. You can manage <em>this</em> server remotely, too, from other Windows 8 PCs and servers. We'll be posting some general information on remote management in an upcoming post; for now, check out <a href="https://blogs.technet.com/b/wincat/archive/2012/05/03/what-needs-to-be-configured-to-do-remote-disk-management-of-a-server-core-installation-in-windows-server-2012-via-powershell.aspx"><em>What needs to be configured to do remote disk management of a Server Core installation in Windows Server 2012 PowerShell</em></a> at the Server and Cloud Partner and Customer Solutions Team Blog<em>. </em></p>
<h2>Conclusion</h2>
<p>The Minimal Server Interface is designed to be a <em>compatibility or transitional layer</em> from a Server with GUI to Server Core. Although you benefit from reduced patching footprint and lower resource utilization in comparison to the full <em>Server with a GUI</em> installation option, the smallest surface area is achieved using Server Core. When you are unable to use Windows Server Core, the Minimal Server Interface provides the best of both worlds of Windows Server. It delivers comprehensive graphical management capabilities while reducing patching requirements and minimizing disk and memory footprint. Please try the Minimal Server Interface and let us know what you think!</p>]]></content:encoded>
    </item>
    <item>
      <title>Live! TechNet Radio: IT Time - An Overview of Windows Server “8” Beta – Server Core</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/live-technet-radio-it-time-an-overview-of-windows-server-8-beta-server-core</link>
      <pubDate>Mon, 30 Apr 2012 08:56:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Herila [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2012/04/30/live-technet-radio-it-time-an-overview-of-windows-server-8-beta-server-core/</guid>
      <description><![CDATA[Andrew Mason and I have teamed up with the TechNet Radio team to bring you a live tour of Windows...]]></description>
      <content:encoded><![CDATA[<p>Andrew Mason and I have teamed up with the TechNet Radio team to bring you a live tour of Windows Server and the Minimal Server Interface.</p>
<h4>About this Video</h4>
<p>Principal Group Program Manager Andrew Mason and Program Manager Ben Herila join us for today&rsquo;s show as we go over the latest features found in Windows Server &ldquo;8&rdquo; Beta &ndash; Server Core. Tune in as we cover improvements made to service and manageability, role support and flexibility, and the various configuration levels.</p>
<p><a title="https://technet.microsoft.com/en-us/edge/technet-radio-it-time-an-overview-of-windows-server-8-server-core.aspx" href="https://technet.microsoft.com/en-us/edge/technet-radio-it-time-an-overview-of-windows-server-8-server-core">Here is a direct link to the episode.</a></p>
<p></p>
<div>
<p></p>
</div>
<div></div>
<p></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Balancing Compatibility and Footprint with the Minimal Server Interface</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/balancing-compatibility-and-footprint-with-the-minimal-server-interface</link>
      <pubDate>Tue, 24 Apr 2012 12:01:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Herila [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2012/04/24/balancing-compatibility-and-footprint-with-the-minimal-server-interface/</guid>
      <description><![CDATA[As Andrew mentioned in our previous blog post, we have made a huge investment this release to enable...]]></description>
      <content:encoded><![CDATA[<p>As Andrew mentioned in our <a title="https://blogs.technet.com/b/server_core/archive/2012/04/19/server-core-in-windows-server-2012.aspx" href="https://blogs.technet.com/b/server_core/archive/2012/04/19/server-core-in-windows-server-2012.aspx">previous blog post</a>, we have made a huge investment this release to enable and improve many new and existing scenarios on Server Core.&nbsp; While Server Core offers a great, minimal footprint system that is capable of running most server roles, we also recognize that many customers need to run software that doesn&rsquo;t yet support Server Core (whether it&rsquo;s other Microsoft software or not). That&rsquo;s why we created the Minimal Server Interface, which is designed to give you just enough of Windows to be able to run most existing software, including GUI management tools, but still leaves uninstalled many features not required on a Server, such as Internet Explorer, Windows Explorer, and the Desktop.</p>
<h2>Engineering Goals</h2>
<p>Windows applications and server roles have traditionally been built on top of what is known as the <i>Windows Foundation</i>: a monolithic package containing dependencies for all of Windows. Since Windows Server 2008, we have been working to break this package up into smaller, installable features. The diagram below shows how the Windows Foundation is split up in Windows Server 2012:</p>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/50/89/6013.Capture.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-89/6013.Capture.PNG"><img alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/50/89/6013.Capture.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-89/6013.Capture.PNG" border="0" /></a></p>
<p>While the <i>Windows Foundation</i> feature is always installed on &ldquo;client&rdquo; editions of Windows 8, it is possible to install only the <i>Server Core</i> feature on Windows Server. This is the recommended and default installation mode for Windows Server 2012. The all-new <i>Minimal Server Interface, </i>which is comprised of the yellow highlighted packages in the diagram above, installs on top of Server Core. It is designed to serve as a compatibility layer for those applications that do not yet work on Server Core.</p>
<h2>Why is Minimal Server Interface Important?</h2>
<p>Before we explain why the Minimal Server Interface itself is important, we will first explain why Server Core is important. Minimizing the disk space and memory requirements for Windows Server enables users to increase the density of their servers (especially when virtual machines are involved) and scale out their deployments significantly. With Server Core, we not only accomplish considerable space savings (thereby reducing storage costs), but we also minimize the attack surface area (thereby increasing security and reliability). Reducing the overall footprint of Windows also enables us to minimize the servicing footprint. By limiting the number of components that must be patched on a given server, we are able to naturally minimize the number of applicable patches, thereby reducing the frequency of reboots and increasing server availability. Windows Server 2012&rsquo;s focus on being a great platform for private cloud deployments further underscores the importance of our efforts to enable a minimal system footprint.</p>
<p>As you might imagine, Server Core represents quite a scaled-down version of Windows Server. We eliminated many GUI features, which are some of the most bulky packages in Windows. However, we realized that many users are not yet ready to move to a remotely managed and local command-line-only Windows Server. For this reason, we created the <i>Minimal Server Interface</i>, which is an intermediate state in between <i>Server with a GUI </i>and <i>Server Core</i>. Practically, the <i>Minimal Server Interface</i> contains almost everything that <i>Server with a GUI </i>has, with two notable exceptions. Internet Explorer 10 and the Windows Explorer shell are not installed in the <i>Minimal Server Interface</i>. However, Server Manager, MMC, and a number of graphical management options are available for use. Accordingly, the <i>Minimal Server Interface</i> provides comprehensive local GUI management capability without the attack and servicing footprint of a full &ldquo;<i>Server with a&nbsp; GUI&rdquo;</i> installation.&nbsp;</p>
<h2>Configuring Minimal Server Interface</h2>
<p>The Minimal Server Interface is designed to be a state in between Server with a GUI and Server Core. As it is intended primarily as a transitional layer, it is not directly exposed in the Windows Server installation options dialog box. You&rsquo;ll need to install the Minimal Server Interface on top of Server Core, or remove the Server Graphical Shell from a Server with a GUI installation. The Minimal Server Interface works this way because there are three particular Windows features (among others, of course) that can be installed on any server running Windows Server 2012:</p>
<ol>
<li><strong>Server Core</strong> &ndash; always installed and enabled; the baseline feature for all Windows Servers</li>
<li><strong>Server Graphical Management Tools &amp; Infrastructure</strong> &ndash; functionality for Minimal Server Interface</li>
<li><strong>Server Graphical Shell</strong> &ndash; equivalent to <em>Server with a GUI</em></li>
</ol>
<p>In our next blog post, we will describe how to configure the Minimal Server Interface in two ways: one, for administrators who choose to start with the default option of Server Core and want additional GUI functionality, and the other, for administrators who are currently using the Server Graphical Shell and want to reap some of the benefits of a minimal system footprint.</p>
<p>Until next time,</p>
<p>Ben Herila<br />Program Manager, Windows Server</p>]]></content:encoded>
    </item>
    <item>
      <title>Server Core in Windows Server 2012</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/server-core-in-windows-server-2012</link>
      <pubDate>Thu, 19 Apr 2012 15:45:02 GMT</pubDate>
      <dc:creator><![CDATA[Andrew Mason - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2012/04/19/server-core-in-windows-server-2012/</guid>
      <description><![CDATA[The Windows Server blog introduced many of the changes we have made for Windows Server 2012 for...]]></description>
      <content:encoded><![CDATA[<p>The Windows Server blog introduced many of the changes we have made for Windows Server 2012 for Server Core, the new Minimal Server Interface, and Features on Demand in this posting: <a href="https://blogs.technet.com/b/windowsserver/archive/2012/03/20/building-an-optimized-private-cloud-using-windows-server-8-server-core.aspx">https://blogs.technet.com/b/windowsserver/archive/2012/03/20/building-an-optimized-private-cloud-using-windows-server-8-server-core.aspx</a>. We will be using the Server Core blog to discuss all of these in more depth and welcome you to post any comments and questions you might have regarding these changes.</p>
<p>Today I&rsquo;m going to start by discussing some of the ways you can take advantage of the ability to move between Server Core and Server with a GUI in Windows Server 2012.</p>
<p><b>Changing server requirements</b> &ndash; If you have deployed Server Core and then there is a change in what needs to run on the server that requires either Minimal Server Interface or Server with a GUI you can now convert up without having to reinstall and rebuild the server.</p>
<p><b>Troubleshooting or configuration</b> &ndash; If there are any issues that you need to trouble shoot or configuration changes you want to make and find it easier to do either with the local GUI tools, you can convert to either Minimal Server Interface or Server with a GUI.</p>
<p><b>Initial configuration </b>&ndash; You can install Server with a GUI, configure the server as desired for your environment, and then convert to Server Core for production and get all the servicing and reboot reduction benefits of Server Core.</p>
<p><b>Single master image </b>&ndash; With the ability to switch between Server Core and Server with a GUI you can create a single master image for deployment. Once installed on a new server it can then be converted to Server Core if that is the planned&nbsp; configuration for the server. There is no longer a need to create and maintain two Windows Server images.</p>
<p>For steps on how to convert between Server Core and Server with a GUI, see the Installation Options topic for the beta release: <a href="https://technet.microsoft.com/en-us/library/hh831786.aspx">https://technet.microsoft.com/en-us/library/hh831786.aspx</a>&nbsp;We&rsquo;ll cover the ways to convert in more detail in a future posting, as well as Minimal Server Interface, and Features on Demand.</p>]]></content:encoded>
    </item>
    <item>
      <title>Server Core on the Windows Server blog</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/server-core-on-the-windows-server-blog</link>
      <pubDate>Tue, 20 Mar 2012 13:02:59 GMT</pubDate>
      <dc:creator><![CDATA[Andrew Mason - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2012/03/20/server-core-on-the-windows-server-blog/</guid>
      <description><![CDATA[There is a new posting on Server Core on the main Windows&nbsp;Server blog:...]]></description>
      <content:encoded><![CDATA[<p>There is a new posting on Server Core on the main Windows&nbsp;Server blog: <a href="https://blogs.technet.com/b/windowsserver/archive/2012/03/20/building-an-optimized-private-cloud-using-windows-server-8-server-core.aspx">https://blogs.technet.com/b/windowsserver/archive/2012/03/20/building-an-optimized-private-cloud-using-windows-server-8-server-core.aspx</a></p>
<p>More details will be posted here in the coming weeks....</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Server “8” Beta announcement</title>
      <link>https://docs.microsoft.com/archive/blogs/server_core/windows-server-8-beta-announcement</link>
      <pubDate>Thu, 01 Mar 2012 15:42:11 GMT</pubDate>
      <dc:creator><![CDATA[Andrew Mason - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/server_core/2012/03/01/windows-server-8-beta-announcement/</guid>
      <description><![CDATA[This morning Bill Laing, Corporate Vice President of Server and Cloud, announced the beta release of...]]></description>
      <content:encoded><![CDATA[<p>This morning Bill Laing, Corporate Vice President of Server and Cloud, announced the <a href="https://blogs.technet.com/b/windowsserver/archive/2012/03/01/windows-server-8-beta-available-now.aspx">beta release of Windows Server &ldquo;8</a>&rdquo;.&nbsp; For anyone who is interested in hearing more about what is in the beta, please go read what Bill has to say. In the coming weeks, there will be more Windows Server &ldquo;8&rdquo; blog posts coming on the <a href="https://blogs.technet.com/b/windowsserver/">Windows Server Blog</a>.</p>
<p>Stay tuned to&nbsp;the Server Core blog for more details on Server Core and the, Minimal Server Interface.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>