Wednesday, February 1, 2012

Server Manager Roles Error - 0x80070490 / 0x800F0818

Unable to view Roles in Windows Server 2008 R2 Server Manager after installing Windows Updates.

Each occurrence of this issue may produce a different error code. Read on for the solution.

Download and run the System Update Readiness Tool from Microsoft.
NOTE: While the tool is running, it may attempt to install hotfixes needed by the system. I allowed this, but it did not correct my problem.

After the tool is finished running, check c:\windows\logs\CBS\CheckSUR.log to view the results. 

A different error will likely be listed for each occurrence. Mine looked like this:
=================================
Checking System Update Readiness.
Binary Version 6.1.7601.21645
Package Version 13.0
2012-01-31 15:44

Checking Windows Servicing Packages

Checking Package Manifests and Catalogs

Checking Package Watchlist

Checking Component Watchlist

Checking Packages
(f) CBS MUM Missing 0x00000002 servicing\Packages\Package_for_KB2560656~31bf3856ad364e35~amd64~~6.1.1.2.mum

Checking Component Store

Summary:
Seconds executed: 362
 Found 1 errors
  CBS MUM Missing Total count: 1

Unavailable repair files:
servicing\packages\Package_for_KB2560656~31bf3856ad364e35~amd64~~6.1.1.2.mum
servicing\packages\Package_for_KB2560656~31bf3856ad364e35~amd64~~6.1.1.2.cat

(w) Unable to get system disk properties 0x0000045D IOCTL_STORAGE_QUERY_PROPERTY Disk Cache

Take note of the highlighted article number (or numbers) listed below "Unavailable repair files" and find them on Microsoft's support page by going to: support.microsoft.com/kb/number


I have found that some KB articles link to the required hotfix, but this one did not. You can find the download by going to the Microsoft Update Catalog and entering the article number. Choose the update applicable to your environment and download it.

Next, you need to unpack this update and extract the needed files.

Put the downloaded hotfix_file_name.msu file in a new folder: c:\folder_name
First you need to expand the MSU file, then you need to expand the CAB file that was inside it.

Open a command prompt and enter the following commands.
Remember to replace the file and folder names with your specific info. Press ENTER after each command.

cd c:\foldername


expand -F:* hotfix_file_name.msu c:\foldername
NOTE: there is a space between F:* and the file name


expand -F:* hotfix_file_name.cab c:\foldername


exit

Verify the files you need are there. Open your folder in an explorer window (My Computer) and scroll down until you find the files that exactly match the failed updates listed in the CheckSUR.log.

Next, navigate to c:\windows\servicing\ and take ownership of the packages directory.
Right-Click packages and choose "properties"
Click the "Security" tab and go to "Advanced"
Click the "Owner" tab, choose "edit" and change the owner to the user you are logged in as. Be sure to check the box "Replace owner on subcontainers and objects."
Click "OK"
Go to the "Permissions" tab and verify your user has full control. If not, click "change permissions"
Select (or add) your user and choose "edit."
Check "Full Control" at the top and click "OK"
Check "Replace all child object permissions with inheritable permissions from this object" and click "OK"
Click "OK" again on the next two windows to close out of the properties dialog.


Now move or copy the matching filenames from the expanded directory to the packages directory.
When this is complete, open Server Manager and open Roles. See if the error reoccurs.
NOTE: It didn't work for me. I rebooted and still experienced the issue. I reran the System Update Readiness Tool and checked the log file. The same KB was listed but a slightly different file name. I copied those and they didn't work either. Finally I renamed the generic update.mum and update.cat files (these were in the expanded directory) to match the file names listed in the log and copied those to the packages directory. Immediately System Manager: Roles started working.


Reinstate TrustedInstaller as the owner of the packages directory.

First, remove your elevated Full Control permissions so that only the inherited permissions remain.
Properties, Security, Advanced. You should see an an entry that is not inherited. Select and remove it.


Then go to c:\windows\ and right-click "servicing"
Choose properties, security, advanced. Go to the "owner" tab (it should read TrustedInstaller).
Click "edit" and check "replace owner on subcontainers and objects"
Click "OK"


Sources:

1 comment:

  1. Thx a lot. Your explantation saved my life. Had to uninstall sbs2008 server roles after migrating to server 2012 r2 and Exchange 2013. Then server roles were missing on the old sbs2008.
    Many thx.

    ReplyDelete