Failure configuring Windows Features, reverting changes

If you’re anything like me, you’ve spent the last two days trying to fix this:

image Failure configuring Windows features. Reverting changes. Do not turn off your computer.

This post is about a very specific case of this error, which probably won’t apply to most people:

Attempting to change from Windows Server 2012 Core (Standard/Datacenter), Server 2012 Minimal to Server 2012 Full GUI (Standard / Datacenter); after an upgrade from Server 2008 R2.

The second part of this article is about how to change from core to full and back again, so that might be worth some people reading, but it is documented elsewhere in better detail.

Symptoms

If you’re experiencing this problem, here are a few places that you can look and check:

C:\Windows\Logs\CBS\CBS.log (and previous files)

“Provider Microsoft-Windows-Dwm-Dwm is already installed with GUID {bc2eeeec-b77a-4a52-b6a4-dffb1b1370cb}.”

“CMIADAPTER: Inner Error Message from AI HRESULT = HRESULT_FROM_WIN32(15010)”

“Failed execution of queue item Installer: Events ({3bb9fd2b-351e-4b9c-b1fc-ed0758805998}) with HRESULT HRESULT_FROM_WIN32(15010).  Failure will not be ignored: A rollback will be initiated after all the operations in the installer queue are completed; installer is reliable (2)[gle=0x80004005]”

None of these are very helpful, even when Googled. You have to Google (sorry, bing, Bing!) a very specific set of GUIDs to actually come up with any results:

{bc2eeeec-b77a-4a52-b6a4-dffb1b1370cb} – {57e0b31d-de8c-4181-bcd1-f70e880b49fc} or {8c9dd1ad-e6e5-4b07-b455-684a9d879900}

Apparently these are related to event publishers for the event log that were erroneously migrated across from Server 2008 R2

Solutions?

The solution then is to open an elevated command prompt (what else would you have in Server Core…?!) and run the following:

reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{bc2eeeec-b77a-4a52-b6a4-dffb1b1370cb}
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{57e0b31d-de8c-4181-bcd1-f70e880b49fc}
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{8c9dd1ad-e6e5-4b07-b455-684a9d879900}

If you’re a bit nervous about doing this like I was, fire up regedit on your machine and connect to the server having issues, export and then rename them 🙂

Once you’ve done this, RESTART! I didn’t the first time and it caused no end of problems – ended up restoring the VM back to a snapshot I took before attempting this.

 

In order to switch from core to full and back again you need to do one of three things – either update your install.wim file with all the hotfixes that you have installed on your server.. (offline patching .WIM file), uninstall all the hotfixes from the server (what I did the first time round), or allow your server to use Windows Update.

Uninstalling Hotfixes Method:

  1. Open Powershell
  2. Enter ‘systeminfo’ and press enter
  3. Look under the hotfix(s) section for KB numbers
  4. For each KB listed, enter: ‘wusa.exe /uninstall /kb:XXXXXXX’ and press enter
  5. Answer NO when asked to reboot.

Eventually you’ll end up with a few hotfixes that won’t uninstall:

image

KB2771431, KB2821895

It didn’t seem to matter that these wouldn’t uninstall.

When you’ve done this, restart your server.

Windows Update Method:

This one is somewhat easier as you get to leave all your hotfixes installed. Make sure that your server is able to download directly from Windows Update (you can go via a proxy, but check that authentication is turned OFF for Windows Update sites).

Next, open group policy editor, make a new policy for just the server having problems and set the following:

Computer Configuration\Policies\Administrative Templates\Windows Components\Windows Update
– Configure Automatic Updates: 3 – Auto download and nofiy for install
– Specify intranet Microsoft update service location: Disabled
– Enable client-side targeting: Disabled
– Allow signed updates from an intranet Microsoft update service location: Disabled

Run gpupdate /force on your server and you’ll be good to go. If you use this method, don’t forget to move your server out of the group in AD when done(!)

The Windows Component Store

Next we need to repair the Windows Component Store using DISM or Powershell.

If you’re NOT using Windows Updates, you need to perform these extra steps:

    1. Open an elevated command prompt
    2. cd\
    3. mkdir c:\mountdir
    4. dism /get-wiminfo /wimfile:D:\sources\install.wim (obviously your drive letter for Windows 2012 install disk)
    5. Pick which edition you have (Standard: 2, Datacenter: 4 on the disk I had)
    6. dism /mount-wim /wimfile:D:\sources\install.wim /index:#from-last-step /mountdir:c:\mountdir /readonly
    7. Let it do its stuff

In the commands below involving DISM, remember to add “–source:c:\mountdir\windows\winsxs” to the end of each.

Tell DISM to cleanup and fix the Windows Component Store files:

Dism /Online /Cleanup-Image /RestoreHealth

This takes ages. Depending on how badly corrupt the store is and what it has to download from Windows Update.

When it’s finished, restart your server.

Switching between Server 2012 Core and Full GUI

Finally we can switch to full GUI. There’s actually loads of ways of doing this now:

Powershell (yay!):

Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell -Restart -Source c:\mountdir\windows\winsxs (only if not using Windows Update)

DISM:

Dism /online /enable-feature /featurename:Server-Gui-Mgmt /featurename:Server-Gui-Shell /source:c:\mountdir\windows\winsxs

Using Server Manager via RSAT on Windows 8

    1. Add / Remove Features
    2. Pick your server from the list or add it if it isn’t there
    3. Next
    4. Pick ‘User Interfaces and Infrastructure
      image
    5. Install!

You can also do the same via an offline VHD file should you desire.

Once your have picked your poison and let it run its course…

image

Configuring Windows features… do not turn off your computer    server  virtual machine 😉

You should be all happily converted:

image

If not, analyse C:\windows\logs\cbs to death, because the answer is in there!

 

Microsoft KB article on the subject: http://support.microsoft.com/kb/2775484

9 Comments

  • Dave Reply

    Thanks for posting this but unfortunately using the Update method didnt work for me

    Server Manager shows

    An unexpected error has occurred. Illegal operation attempted on a registry key that has
    been marked for deletion. 0x800703fa

    any ideas ?
    thanks

  • Pepper Reply

    Exactly the problem I was going nuts trying to solve! Thanks for the assistance.

    By the way, at some point after getting everything working again:
    dism /unmounts-wim /mountdir:c:\mountdir /discard

    • Pepper Reply

      oops, misspelled “unmount-wim” – there is no “s”

      • Pepper Reply

        bizarre, the “s” is getting put on there automagically when I type “unmount-wim” – now Windows has autocorrect?!

  • George Koll Reply

    Regarding update configuration failure for Windows 7 and “reverting changes,” please tell me that Microsoft is aware of the problem and will eventually fix this (??)

    • Matt (How Do I Computer?) Reply

      I sure hope so! I used to be a fan of Server Core until I had to figure out this mess…

  • dwayne mayo Reply

    I hope this helps someone else. I was going nuts with this “failure configuring windows features” glitch. I could find NO help on the web anywhere. Now this may sound stupid but I saw a mention of this and tried it, I took out the blank DVD that was in my dvd drive (it’s a laptop) and lo and behold the problem disappeared. I also saw a comment about sd cards in the reader needing to be removed, even just the plastic dummy card. Hope this helps someone else

  • RAdu Reply

    Great post! it worked for me.

  • dls Reply

    after waiting patiently for the computer to stop reconfiguring due to failure issue…opening the CD drive and re-closing it worked like a charm! I did not even have anything it it.

    thanks everyone!

Leave a Reply to George Koll Cancel reply

Your email address will not be published. Required fields are marked *