Server 2012 WSUS Post-deployment configuration fails - comprehending the log file

After installing Server 2012 Standard on ESX 5.1 I completed all available Windows Updates and proceeded to add the WSUS role.  I chose the default WID database and the role addition was seemingly successful.  Unfortunately, the Post-deployment Configuration failed.  A log file had been created in the AppData\Local\Temp folder but at initial glance it seemed to imply that my error was likely due to skipping a step during installation via PowerShell.  However, I didn't install using PowerShell and I set off to surf the Internets for clues on resolving this issue.  I searched about a dozen forums that with similar, but different issues until a comment by Lawrence Garvin (http://social.technet.microsoft.com/profile/lawrence%20garvin/?ws=usercard-inline) convinced me to go back and look at my log. 

2013-07-23 11:03:18  Postinstall started
2013-07-23 11:03:18  Detected role services: Api, UI, WidDatabase, Services
2013-07-23 11:03:18  Start: LoadSettingsFromXml
2013-07-23 11:03:18  Start: GetConfigValue with filename=UpdateServices-Services.xml item=ContentLocal
2013-07-23 11:03:18  Value is true
2013-07-23 11:03:18  End: GetConfigValue
2013-07-23 11:03:18  Start: GetConfigValue with filename=UpdateServices-Services.xml item=ContentDirectory
2013-07-23 11:03:18  Config file did not contain a value "ContentDirectory"
2013-07-23 11:03:18  Microsoft.UpdateServices.Administration.CommandException: A required configuration value was not found in the system. This is usually caused by installing WSUS through PowerShell and not specifying a configuration file. Review the article Managing WSUS Using PowerShell at TechNet Library (http://go.microsoft.com/fwlink/?LinkId=235499) for more information on the recommended steps to perform WSUS installation using PowerShell.
   at Microsoft.UpdateServices.Administration.PostInstall.GetConfigValue(String filename, String item)
   at Microsoft.UpdateServices.Administration.PostInstall.LoadSettingsFromXml()
   at Microsoft.UpdateServices.Administration.PostInstall.Initalize(Parameters parameters)
   at Microsoft.UpdateServices.Administration.PostInstall.Execute(String[] arguments)
Fatal Error: A required configuration value was not found in the system. This is usually caused by installing WSUS through PowerShell and not specifying a configuration file. Review the article Managing WSUS Using PowerShell at TechNet Library (http://go.microsoft.com/fwlink/?LinkId=235499) for more information on the recommended steps to perform WSUS installation using PowerShell.

Upon closer inspection the specifics of my error were right there for me, I just had to look at it long enough to decipher the details.  What I now read is that Post-deployment configuration finds a file called UpdateServices-Services.xml (I found it in Windows\System32\ServerManager\ComponentConfiguration\).  It determines that ContentLocal=True which correctly indicates that my updates are to be stored locally.  It proceeds to inquire about the ContentDirectory, but comes back without a value.  Here are my UpdateServices-Services.xml file contents

<?xml version="1.0" encoding="utf-16"?><INSTANCE CLASSNAME="ServerComponent_UpdateServices_Services"><PROPERTY NAME="ContentDirectory" TYPE="string"></PROPERTY><PROPERTY NAME="ContentLocal" TYPE="boolean"><VALUE>true</VALUE></PROPERTY></INSTANCE>

I can see that the ContentLocal property did indeed have the value true, but the ContentDirectory property did not have a value.  I now needed to figure out if a String value could be specified in the same way a Boolean value was, or if it needed quotes around it, or was supposed to be specified more like an attribute (learned about that somewhere along the way).  I couldn't find any conclusive websites, and I didn't want to just try it for fear of the Post-deployment configuration running with an invalid ContentDirectory.  Once again I returned to my log file and searched for answers at the http://go.microsoft.com/fwlink/?LinkId=235499 that was indicated.  I didn't find any exact matches, but eventually I found a sample .xml file that specified a string value.  It specified it as <VALUE>string</VALUE> with no brackets, so I knew to specify mine as <VALUE>C:\LocalMSUpdateCache</VALUE> and saved it.  My UpdateServices-Services.xml now looks like this:

<?xml version="1.0" encoding="utf-16"?><INSTANCE CLASSNAME="ServerComponent_UpdateServices_Services"><PROPERTY NAME="ContentDirectory" TYPE="string"><VALUE>C:\LocalMSUpdateCache</VALUE></PROPERTY><PROPERTY NAME="ContentLocal" TYPE="boolean"><VALUE>true</VALUE></PROPERTY></INSTANCE>

I returned to Server Manager -> WSUS and re-attempted the Postdeployment configuration.  It completed successfully!

I'm glad that my fix was relatively simple and that Lawrence was particular about the details of the log file. 

1. My exact error isn't always going to be documented

2. Just because the log file looks unintelligible (I have thus far avoided both powershell and xml), doesn't mean it's useless.

Good luck to anyone with a similar issue.  You too may be able to figure it out yourself.

July 23rd, 2013 9:05pm

I'm not quite sure which post it was that contributed to your successful diagnostic, nor am I entirely certain that my contributions are relevant, nor the accolades warranted, but I'm glad to hear you were able to repair the issue.

By default, the role installer will offer up a root folder (~\WSUS) on the volume with the most free space, and the content store is a subfolder of that folder (~\WSUS\WSUSContent).

The ~\WSUS folder is automatically created, as is the subfolder 'WSUSContent', so I'm at a total loss as to why the installer would not have created the necessary folder tree and assigned it accordingly.

The original installation logfile may shed some light on this process, but I've not yet heard of a case where the folders were not created or the post-installation setup wizard was unable to find the intended target for a local content store.

Free Windows Admin Tool Kit Click here and download it now
July 24th, 2013 2:11am

Thanks. This fixed my issue too. my test environment is all Server 2012, separate SQL 2012 server, SCCM 2012 SP1. After having removed the WSUS role and re-added it, I was getting the exact same error. I edited the XML and re-ran the post install tasks and all good.

Thanks!

July 24th, 2013 10:37am

Thank you so much for taking the time to post this.  You just saved me hours!
Free Windows Admin Tool Kit Click here and download it now
July 25th, 2013 8:32pm

Thank you so much, you just saved me a load of headaches...this fixed my problem as well!
July 27th, 2013 11:28pm

Great, that's cool.  I was wondering if anyone else would have the same problem and I'm surprised at how quickly other people were able to find my post.

Thanks for the feedback!

Free Windows Admin Tool Kit Click here and download it now
July 29th, 2013 5:38pm

I guess filling in that text box with my Content Directory location was just a practice of my typing.

Thank you for solution probably saved me quite a bit of time troubleshooting. THUMBS UP

July 30th, 2013 6:05pm

Thx Man ! it really works
Free Windows Admin Tool Kit Click here and download it now
August 1st, 2013 9:22pm

WSUS product team is investigating this issue.

Question: Was the WSUS role being installed on the standard .NET v4.0 that ships with WS2012, or is .NET v4.5 installed?

August 2nd, 2013 5:41pm

Workaround from the WSUS team.

One of the new (undocumented) features of WSUS v6 is another utility: wsusutil postinstall

While I've not personally validated this (I don't yet have a WSUS v6 installation working), and the v6 wsusutil.exe is not documented, the syntax should look something like this:

For installations using WID:

wsusutil postinstall CONTENT_DIR=C:\WSUS  (or whatever parent folder for WSUSContent you've specified)

For installations using SQL Server:

wsusutil postinstall CONTENT_DIR=C:\WSUS INSTANCE_NAME=databaseServer[\instanceName]

The syntax I was given did not include the 'postinstall' keyword, but all functions of this utility have always required the operationName keyword, so I'm presuming that is also the case here.

This should patch up the defect in the XML file and, I guess, re-launch the postinstallation wizard.

As with all wsusutil functions, you can get in-program help by running

wsusutil help postinstall

Free Windows Admin Tool Kit Click here and download it now
August 2nd, 2013 6:11pm

So glad I found this post, this was driving me crazy...powershell install completed just fine, however server manager install kept running into this issue. I also had to manually configure the sql instance as well.

Thanks again!

August 4th, 2013 8:45am

Installing WSUS through powershell worked for me:

Install-WindowsFeature -Name UpdateServices-Services,UpdateServices-DB IncludeManagementTools

wsusutil.exe postinstall SQL_INSTANCE_NAME="SERVER-SA1" CONTENT_DIR=D:\WSUS

NOTE: My SQL is on the same server so only need server name
  • Edited by dpalme Tuesday, August 06, 2013 7:49 PM
Free Windows Admin Tool Kit Click here and download it now
August 6th, 2013 7:47pm


Good luck to anyone with a similar issue.  You too may be able to figure it out yourself.

Thank you! Worked like a charm

August 8th, 2013 12:55am

Genius! Saved me loads of time, will name my first born after you!
Free Windows Admin Tool Kit Click here and download it now
August 8th, 2013 9:33am



I know this has been solved by some of the suggestions listed above but I wanted to let others know what I did to solve my issue.  I had the same error message as the first post (content directory not specified) but suggestions for fixes (Powershell, etc) didn't work.

Removed WSUS from failed attempt then...

Install Windows Internal Database

Install WSUS role (selecting WID Database and WSUS Services)

Clicking Launch Post-Installation tasks will fail and tmp file will say Config file did not contain a value "ContentDirectory"

Navigate to C:\Program Files\Update Services\AdministrationSnapin

Launch WSUS.msc which prompted me to finish the Post Installation tasks

Filled in the content directory

Post Installation Tasks completed successfully

Hope that helps others where the Powershell script doesn't work for them.

August 13th, 2013 11:16pm

Launch WSUS.msc which prompted me to finish the Post Installation tasks

Filled in the content directory

THIS, simple solution worked for me, hadn't tried the others but tried the path of least resistance first and it was spot on. Thank you!
Free Windows Admin Tool Kit Click here and download it now
August 14th, 2013 8:08am

Wow, thanks, wa spulling my hair out

Microsoft?! Any word on a fix for this??

August 25th, 2013 3:20pm

Microsoft?! Any word on a fix for this??

I do know that the WSUS team is aware of this issue and it is being investigated.

Beyond that, I'm sure that Ben will comment when there's something more to

Free Windows Admin Tool Kit Click here and download it now
August 25th, 2013 3:55pm

Hello guys,

this is really a shame. Such an annoying bug and it would be so easy fixed...

How long is w2012 now available and still no fix?

What is so complicated in fixing the missing content directory value in
C:\Windows\System32\ServerManager\ComponentConfiguration\UpdateServices-Services.xml

<VALUE>C:\....</VALUE>

which is causing the trouble?

August 30th, 2013 12:23pm

When my WSUS post-installation failed due to the same MISSING CONTENT DIRECTORY VALUE I opened the location that the WSUS program installed to and then went into the en-US folder and double-clicked the wsus.msc file and it prompted me for a content directory location which I entered and after that the post-installation process proceeded and successfully completed.  Weird.

C:\Program Files\Update Services\AdministrationSnapin\en-US\wsus.msc

Free Windows Admin Tool Kit Click here and download it now
September 2nd, 2013 6:58pm

Happened to me, too, on a brand-new Windows 2012 DC installation.  I removed the WSUS role, noticed that Windows Internal Database was still installed and it's greyed out, i.e., cannot be removed, re-installed the WSUS role, fails with the same ContentDirectory error, launched WSUS.msc, specified C:\WSUS, fails with the "Fatal Error: Cannot start service MSSQL$MICROSOFT##WID on computer '.'."

I couldn't even manually start the MSSQL$MICROSOFT##WID service.  It says logon error.  The logon is set to NT SERVICE\MSSQL$MICROSOFT##WID.  Now, need to figure out how to tell it to reset its own password!  More research.  TTYL.

September 11th, 2013 4:38am

Because this was being installed on a Domain Controller, the Default Domain Controller Policy GP was overwriting the Local GP and, thus, the WID services could not start due to not having the "log on as service" rights.  The solution was to grant "NT SERVICE\All Services" the same right in the Default Domain Controller Policy GP.

I wish I could've specified the exact account instead but, this being a virtual account - a Windows 2012 thing, it wasn't possible.  I did see all the other Windows Server 2008 R2 WID accounts assigned to this right; just not the ones for Windows 2012.

After I've done this, and gpupdate of course, I was able to manually start the WID service.  Then successfully completed the post-installation task via WSUS.msc.

Good luck, everyone!

Free Windows Admin Tool Kit Click here and download it now
September 11th, 2013 5:26am

Man thank you a lot you just saved me and others a lot of time as there is many people having this problem.


  • Edited by Aivaras L Friday, September 13, 2013 9:35 AM
September 13th, 2013 9:34am

Thank you :)
Free Windows Admin Tool Kit Click here and download it now
September 23rd, 2013 7:41am

that worked to finish the WSUS install but the failed task still remained ...so I went ahead and edited the .xml to add the content directory value variable and poof that completed and all is good

In retrospect I wonder if I had manually created the c:\WSUS directory during the Role Creation wizard ...in any case there were no subfolders there until I ran the wsus.msc

September 28th, 2013 5:03pm

In retrospect I wonder if I had manually created the c:\WSUS directory during the Role Creation wizard

No, that likely would not have worked. As noted in this thread, the best alternative is to re-launch the wizard with the wsusutil postinstall CONTENT_DIR= option which will properly create the content directory and allow the wizard to complete.

Alternatively, as you did, and many others before you prior to the disclosure of this new (still undocumented) feature of the wsusutil tool, editing the XML to provide the missing data will also resolve the issue.

Free Windows Admin Tool Kit Click here and download it now
October 2nd, 2013 12:06am

Thanks a bunch had the same issue here, fix worked like a charm.
October 30th, 2013 8:17pm

Promote this guy!  Thanks for the post, saved me a TON of diagnostic work. :)

Free Windows Admin Tool Kit Click here and download it now
November 21st, 2013 5:17pm

Thank you very much for doing this post. I had problems installing the WSUS service in our Server 2012 and this post helped me in completing the installation and configuration.
November 22nd, 2013 7:21am

wsusutil postinstall CONTENT_DIR=D:\WSUS  saved the day. Thanks!

Free Windows Admin Tool Kit Click here and download it now
November 25th, 2013 12:21pm

Sweet Jesus... How I hate WSUS at the moment... I have a complete SCCM installation hanging up due to this shi**y piece of work from Microsoft.

Everything that's failing it's at Post-Install Configuration, and I've already tried everything here but still fails when it's creating the website with the most STUPID error EVER:

 System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified

To hell with WSUS.


January 7th, 2014 10:57am

Hey!

I am having the same issue as you, did you ever fix it?  Here is my text running up to the error:

wsusutil postinstall CONTENT_DIR=C:\WSUS

2014-01-09 14:04:32  Configuring IIS...
2014-01-09 14:04:32  Start: ConfigureWebsite
2014-01-09 14:04:33  Configuring website on port 8530
2014-01-09 14:04:33  System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
   at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at Microsoft.UpdateServices.Administration.UseCustomWebSite.ExecuteIisCustomAction(String arguments)
   at Microsoft.UpdateServices.Administration.UseCustomWebSite.Install(Int32 portNumber)
   at Microsoft.UpdateServices.Administration.UseCustomWebSite.InstallAndConfigure(IisConfiguration& iisConfiguration, Int32 newPortNumber)
   at Microsoft.UpdateServices.Administration.PostInstall.ConfigureWebsite(Int32 portNumber)
   at Microsoft.UpdateServices.Administration.PostInstall.Run()

   at Microsoft.UpdateServices.Administration.PostInstall.Execute(String[] arguments)

I don't understand what it wants.

Free Windows Admin Tool Kit Click here and download it now
January 9th, 2014 8:09pm

System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified

I don't understand what it wants.

I'm not sure this is the same issue that this thread is about. I think in this case, it's not finding the required configuration file(s) at all.

Do you have an UpdateServices-Services.xml file in the folder

%SYSTEM%\ServerManager\ComponentConfiguration?

January 10th, 2014 5:12pm

Hey Thanks for the reply, yes I do have it there.   I m ake it further into the installation than the original guy and it seems like it is looking for some sort of XML file but the log doesn't tell me what, very frustrating.

Thanks,

Rudi

Free Windows Admin Tool Kit Click here and download it now
January 10th, 2014 6:50pm

Thanks for sharing this!
March 12th, 2014 10:31pm

Hey Thanks for the reply, yes I do have it there.   I m ake it further into the installation than the original guy and it seems like it is looking for some sort of XML file but the log doesn't tell me what, very frustrating.

Thanks,

Rudi


Did you understand that problem, I have the same problem? Thanks
Free Windows Admin Tool Kit Click here and download it now
March 25th, 2014 11:54am

Hey!

I am having the same issue as you, did you ever fix it?  Here is my text running up to the error:

wsusutil postinstall CONTENT_DIR=C:\WSUS

2014-01-09 14:04:32  Configuring IIS...
2014-01-09 14:04:32  Start: ConfigureWebsite
2014-01-09 14:04:33  Configuring website on port 8530
2014-01-09 14:04:33  System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
   at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at Microsoft.UpdateServices.Administration.UseCustomWebSite.ExecuteIisCustomAction(String arguments)
   at Microsoft.UpdateServices.Administration.UseCustomWebSite.Install(Int32 portNumber)
   at Microsoft.UpdateServices.Administration.UseCustomWebSite.InstallAndConfigure(IisConfiguration& iisConfiguration, Int32 newPortNumber)
   at Microsoft.UpdateServices.Administration.PostInstall.ConfigureWebsite(Int32 portNumber)
   at Microsoft.UpdateServices.Administration.PostInstall.Run()

   at Microsoft.UpdateServices.Administration.PostInstall.Execute(String[] arguments)

I don't understand what it wants.

I am having the exact same problem.  The updateservices-services.xml file is correct.  When I try to run it from server manager/wsus, I get this message: 

Post install is starting
Fatal Error: Illegal characters in path.

Thoughts?

April 9th, 2014 6:42pm

The updateservices-services.xml file is correct.

Fatal Error: Illegal characters in path.

Thoughts?

Those two statements seem to be contradictory.
Free Windows Admin Tool Kit Click here and download it now
April 9th, 2014 8:21pm

While running the add roles and features wizard, I specified that I would not use WID (intended to use a remote sql server) and I did provide a local location to store content.  I experienced the same symptoms.  I simply opened the WSUS admin console, which prompted me to perform the post-install tasks.  I provided the remote sql server name for the 'db instance' value (I'm using the default instance on that server), and again provided the local path where I wanted content stored.  Et Voila!
July 3rd, 2014 8:13pm

Thanks for posting this!  I tried another person's idea of using wsusutil but PowerShell and CMD is not recognizing it in Server 2012.  Ultimately, launching the WSUS snap-in worked like a charm, prompting me immediately to enter a content directory path.
Free Windows Admin Tool Kit Click here and download it now
August 19th, 2014 1:25pm

Thank you for this solution. I had the same problem and is now resolved.
September 5th, 2014 9:15pm

Spot On. Great post. Thanks for your time
Free Windows Admin Tool Kit Click here and download it now
October 15th, 2014 8:07am

I TRIED everything nothing worked!.  This worked like a charm!!!  Thank you.
February 4th, 2015 10:29pm

You are my Hero !

nuf said! :)

Free Windows Admin Tool Kit Click here and download it now
February 17th, 2015 12:16am

Outstanding Information!!!!  Bravo!
March 18th, 2015 2:57pm

I ran into this same issue on a fresh install of 2012 trying to install WSUS.

I've tried the solutions here which corrected the missing content directory but now I get this error when it tries to finish the post installation tasks:

Fatal Error: The process does not possess the 'SeSecurityPrivilege' privilege which is required for this operation.

Very frustrating to say the least. Still searching for a solution to this problem.

Here is the log file:


2015-04-28 14:47:00  Postinstall started
2015-04-28 14:47:00  Detected role services: Api, UI, WidDatabase, Services
2015-04-28 14:47:00  Start: LoadSettingsFromParameters
2015-04-28 14:47:00  Content local is: True
2015-04-28 14:47:00  Content directory is: W:\WSUS
2015-04-28 14:47:00  SQL instname is: 
2015-04-28 14:47:00  End: LoadSettingsFromParameters
2015-04-28 14:47:00  Start: Run
2015-04-28 14:47:00  Configuring content directory...
2015-04-28 14:47:00  Configuring groups...
2015-04-28 14:47:00  Starting group configuration for WSUS Administrators...
2015-04-28 14:47:00  Found group in regsitry, attempting to use it...
2015-04-28 14:47:03  Writing group to registry...
2015-04-28 14:47:03  Finished group creation
2015-04-28 14:47:03  Starting group configuration for WSUS Reporters...
2015-04-28 14:47:03  Found group in regsitry, attempting to use it...
2015-04-28 14:47:03  Writing group to registry...
2015-04-28 14:47:03  Finished group creation
2015-04-28 14:47:03  Configuring permissions...
2015-04-28 14:47:03  Fetching content directory...
2015-04-28 14:47:03  Fetching ContentDir from registry store
2015-04-28 14:47:03  Value is W:\WSUS
2015-04-28 14:47:03  Fetching group SIDs...
2015-04-28 14:47:03  Fetching WsusAdministratorsSid from registry store
2015-04-28 14:47:03  Value is S-1-5-21-288893537------
2015-04-28 14:47:03  Fetching WsusReportersSid from registry store
2015-04-28 14:47:03  Value is S-1-5-21-288893537------
2015-04-28 14:47:03  Creating group principals...
2015-04-28 14:47:03  Granting directory permissions...
2015-04-28 14:47:03  Granting permissions on content directory...
2015-04-28 14:47:03  Granting registry permissions...
2015-04-28 14:47:03  System.Security.AccessControl.PrivilegeNotHeldException: The process does not possess the 'SeSecurityPrivilege' privilege which is required for this operation.
   at System.Security.AccessControl.Win32.GetSecurityInfo(ResourceType resourceType, String name, SafeHandle handle, AccessControlSections accessControlSections, RawSecurityDescriptor& resultSd)
   at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
   at System.Security.AccessControl.RegistrySecurity..ctor(SafeRegistryHandle hKey, String name, AccessControlSections includeSections)
   at Microsoft.Win32.RegistryKey.GetAccessControl(AccessControlSections includeSections)
   at Microsoft.UpdateServices.Administration.ConfigurePermissions.GrantRegistryPermissions(IdentityReference identity, RegistryRights registryRights)
   at Microsoft.UpdateServices.Administration.ConfigurePermissions.GrantRegistryPermissions()
   at Microsoft.UpdateServices.Administration.PostInstall.Run()
   at Microsoft.UpdateServices.Administration.PostInstall.Execute(String[] arguments)


Free Windows Admin Tool Kit Click here and download it now
April 28th, 2015 4:01pm

Something similar to this situation, I'm sure.  Check the rights/privileges of the account in whose context you're attempting the installation...https://social.technet.microsoft.com/Forums/sharepoint/en-US/0112535c-9b2c-4f9b-96d6-85cff585b20b/the-process-does-not-possess-the-sesecurityprivilege-privilege-which-is-required-for-this?forum=sharepointadminlegacy

April 28th, 2015 6:35pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics