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

  • General discussion

  • 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.

    Tuesday, July 23, 2013 9:05 PM

All replies

  • 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.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    Wednesday, July 24, 2013 2:11 AM
    Moderator
  • 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!

    Wednesday, July 24, 2013 10:37 AM
  • Thank you so much for taking the time to post this.  You just saved me hours!
    Thursday, July 25, 2013 8:32 PM
  • Thank you so much, you just saved me a load of headaches...this fixed my problem as well!
    Saturday, July 27, 2013 11:28 PM
  • 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!

    Monday, July 29, 2013 5:38 PM
  • 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

    Tuesday, July 30, 2013 6:05 PM
  • Thx Man ! it really works

    Armen Juharyan

    Thursday, August 1, 2013 9:22 PM
  • 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?


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    Friday, August 2, 2013 5:41 PM
    Moderator
  • 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


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    Friday, August 2, 2013 6:11 PM
    Moderator
  • 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!

    Sunday, August 4, 2013 8:45 AM
  • 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 6, 2013 7:49 PM
    Tuesday, August 6, 2013 7:47 PM

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

    Thank you! Worked like a charm

    Thursday, August 8, 2013 12:55 AM
  • Genius! Saved me loads of time, will name my first born after you!
    Thursday, August 8, 2013 9:33 AM
  • 

    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.

    Tuesday, August 13, 2013 11:16 PM
  • 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!
    Wednesday, August 14, 2013 8:08 AM
  • Wow, thanks, wa spulling my hair out

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

    Sunday, August 25, 2013 3:20 PM
  • 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 offer.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.


    Sunday, August 25, 2013 3:55 PM
    Moderator
  • 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?

    Friday, August 30, 2013 12:23 PM
  • 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

    Monday, September 2, 2013 6:58 PM
  • 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.

    Wednesday, September 11, 2013 4:38 AM
  • 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!

    Wednesday, September 11, 2013 5:26 AM
  • 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
    Friday, September 13, 2013 9:34 AM
  • Thank you :)

    http://www.daveengineer.com

    Monday, September 23, 2013 7:41 AM
  • 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


    Dale Unroe

    Saturday, September 28, 2013 5:03 PM
  • 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.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    Wednesday, October 2, 2013 12:06 AM
    Moderator
  • Thanks a bunch had the same issue here, fix worked like a charm.
    Wednesday, October 30, 2013 8:17 PM
  • Promote this guy!  Thanks for the post, saved me a TON of diagnostic work. :)

    Thursday, November 21, 2013 5:17 PM
  • 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.
    Friday, November 22, 2013 7:21 AM
  • wsusutil postinstall CONTENT_DIR=D:\WSUS  saved the day. Thanks!

    Monday, November 25, 2013 12:21 PM
  • 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.


    Tuesday, January 7, 2014 10:57 AM
  • 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.

    Thursday, January 9, 2014 8:09 PM
  • 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?


    Lawrence Garvin, M.S., MCSA, MCITP:EA, MCDBA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2014)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence%20R%20Garvin-32101
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    Friday, January 10, 2014 5:12 PM
    Moderator
  • 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

    Friday, January 10, 2014 6:50 PM
  • Thanks for sharing this!
    Wednesday, March 12, 2014 10:31 PM
  • 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
    Tuesday, March 25, 2014 11:54 AM
  • 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?

    Wednesday, April 9, 2014 6:42 PM
  • The updateservices-services.xml file is correct.

    Fatal Error: Illegal characters in path.

    Thoughts?

    Those two statements seem to be contradictory.

    Lawrence Garvin, M.S., MCSA, MCITP:EA, MCDBA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2014)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence%20R%20Garvin-32101
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    Wednesday, April 9, 2014 8:21 PM
    Moderator
  • 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!
    Thursday, July 3, 2014 8:13 PM
  • 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.
    Tuesday, August 19, 2014 1:25 PM
  • Thank you for this solution. I had the same problem and is now resolved.
    Friday, September 5, 2014 9:15 PM
  • Spot On. Great post. Thanks for your time
    Wednesday, October 15, 2014 8:07 AM
  • I TRIED everything nothing worked!.  This worked like a charm!!!  Thank you.
    Wednesday, February 4, 2015 10:29 PM
  • You are my Hero !

    nuf said! :)

    Tuesday, February 17, 2015 12:16 AM
  • Outstanding Information!!!!  Bravo!
    Wednesday, March 18, 2015 2:57 PM
  • 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)


    Tuesday, April 28, 2015 7:58 PM
  • 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

    Tuesday, April 28, 2015 10:32 PM
  • I found this article yesterday https://support.microsoft.com/en-us/kb/2000257/en-us but it did not help either.

    I moved the new server to the computers OU in AD to remove all GPOs from it, I've ran gpupdate /force multiple times, but I still get the same error message.

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

    Next I moved the server to an OU where I blocked inheritance in Group Policy Management, this solved the issue. 

    Seems the Local Security Policy - Log on as a Service was not allowing the NT SERVICE\MSSQL$MICROSOFT##WID user to start the MSSQL (Windows Internal Database) service.

    After I moved the server to the OU that was no longer inheriting the GPOs from the domain the  Local Security Policy - Log on as a Service defaulted to: NT SERVICE\ALL SERVICES

    I tried to add both-

    NT SERVICE\ALL SERVICES

    NT SERVICE\MSSQL$MICROSOFT##WID

    to the GPO but I was unable to, they would not resolve.

    This SOLVED the issue!

    Wednesday, April 29, 2015 1:21 PM
  • Thank you for this post.

    While adding this role I clicked the back button and changed the checkbox from Database to WID because I didn't understand "Windows Internal Database" WID. This is the step where the .XML file was altered and did not receive the next wizard screen entry of the Data Store location. <VALUE>D:\UPDATE<\VALUE>

    Pete

    
    • Edited by wpeterb Wednesday, May 27, 2015 4:19 PM
    Wednesday, May 27, 2015 4:19 PM
  • Thank you! This is exactly what I was experiencing!
    Monday, June 22, 2015 1:46 PM
  • Many thanks for this, have added the above to my comprehensive list of useful WSUS commands, any chance that a 'fix' could be released to solve this issue, I have found that the WSUS service either disables or just stops
    Tuesday, July 28, 2015 10:15 AM
  • Great investigation.

    I used it to solve my issue as well - except in my case I was installing a downstream WSUS that wasn't going to store any local content. So I modified the XML slightly differently:

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

    I didn't bother setting the ContentDirectory value. Instead I set the ContentLocal property value to FALSE.


    Monday, November 16, 2015 2:14 AM
  • 

    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.

    worked for me thanks mate
    Tuesday, April 12, 2016 3:44 PM
  • To complete setup without edit xml file

    Scenario, WSUS member server Database server remote SQL

    On Windows 2012 server where WSUS was setup using a remote SQL server, NOT WID Internal Database, Not Local SQL

    From a command Prompt executed as administrator

    Go to path C:\Program Files\update services\tools where is located the tool WsusUtil.exe
    Sample for
    E:\WSUSDOWN Dir for WSUS content
    SQL server database childsccm
    Execution for those parameters
    WsusUtil.exe postinstall CONTENT_DIR=E:\WSUSDOWN SQL_INSTANCE_NAME=CHILDSQL

    After execution

    WsusUtil.exe postinstall CONTENT_DIR=E:\WSUSDOWN SQL_INSTANCE_NAME=CHILDSQL
    Log file is located at C:\Users\xxxx\AppData\Local\Temp\tmp14A0.tmp
    Post install is starting
    Post install has successfully completed

    LOG

    2016-05-17 08:16:40  Postinstall started
    2016-05-17 08:16:40  Detected role services: Api, Database, UI, Services
    2016-05-17 08:16:40  Start: LoadSettingsFromParameters
    2016-05-17 08:16:40  Content local is: True
    2016-05-17 08:16:40  Content directory is: E:\WSUSDOWN
    2016-05-17 08:16:40  SQL instname is: CHILDSQL
    2016-05-17 08:16:40  End: LoadSettingsFromParameters
    2016-05-17 08:16:40  Start: Run
    2016-05-17 08:16:40  Fetching WsusAdministratorsSid from registry store
    2016-05-17 08:16:40  Value is S-1-5-21-1228911712-3304510780-3163418430-1001
    2016-05-17 08:16:40  Fetching WsusReportersSid from registry store
    2016-05-17 08:16:40  Value is S-1-5-21-1228911712-3304510780-3163418430-1002
    2016-05-17 08:16:41  Configuring content directory...
    2016-05-17 08:16:41  Configuring groups...
    2016-05-17 08:16:41  Starting group configuration for WSUS Administrators...
    2016-05-17 08:16:41  Found group in regsitry, attempting to use it...
    2016-05-17 08:16:46  Writing group to registry...
    2016-05-17 08:16:46  Finished group creation
    2016-05-17 08:16:46  Starting group configuration for WSUS Reporters...
    2016-05-17 08:16:46  Found group in regsitry, attempting to use it...
    2016-05-17 08:16:46  Writing group to registry...
    2016-05-17 08:16:46  Finished group creation
    2016-05-17 08:16:46  Configuring permissions...
    2016-05-17 08:16:46  Fetching content directory...
    2016-05-17 08:16:46  Fetching ContentDir from registry store
    2016-05-17 08:16:46  Value is E:\WSUSDOWN
    2016-05-17 08:16:46  Fetching group SIDs...
    2016-05-17 08:16:46  Fetching WsusAdministratorsSid from registry store
    2016-05-17 08:16:46  Value is S-1-5-21-1228911712-3304510780-3163418430-1001
    2016-05-17 08:16:46  Fetching WsusReportersSid from registry store
    2016-05-17 08:16:46  Value is S-1-5-21-1228911712-3304510780-3163418430-1002
    2016-05-17 08:16:46  Creating group principals...
    2016-05-17 08:16:46  Granting directory permissions...
    2016-05-17 08:16:46  Granting permissions on content directory...
    2016-05-17 08:16:46  Granting registry permissions...
    2016-05-17 08:16:46  Granting registry permissions...
    2016-05-17 08:16:46  Granting registry permissions...
    2016-05-17 08:16:46  Configuring shares...
    2016-05-17 08:16:46  Configuring network shares...
    2016-05-17 08:16:46  Fetching content directory...
    2016-05-17 08:16:46  Fetching ContentDir from registry store
    2016-05-17 08:16:46  Value is E:\WSUSDOWN
    2016-05-17 08:16:46  Fetching WSUS admin SID...
    2016-05-17 08:16:46  Fetching WsusAdministratorsSid from registry store
    2016-05-17 08:16:46  Value is S-1-5-21-1228911712-3304510780-3163418430-1001
    2016-05-17 08:16:46  Content directory is local, creating content shares...
    2016-05-17 08:16:49  Creating share "UpdateServicesPackages" with path "E:\WSUSDOWN\UpdateServicesPackages" and description "A network share to be used by client systems for collecting all software packages (usually applications) published on this WSUS system."
    2016-05-17 08:16:51  Deleting existing share...
    2016-05-17 08:16:51  Creating share...
    2016-05-17 08:16:52  Share successfully created
    2016-05-17 08:16:52  Creating share "WsusContent" with path "E:\WSUSDOWN\WsusContent" and description "A network share to be used by Local Publishing to place published content on this WSUS system."
    2016-05-17 08:16:52  Deleting existing share...
    2016-05-17 08:16:52  Creating share...
    2016-05-17 08:16:52  Share successfully created
    2016-05-17 08:16:52  Creating share "WSUSTemp" with path "C:\Program Files\Update Services\LogFiles\WSUSTemp" and description "A network share used by Local Publishing from a Remote WSUS Console Instance."
    2016-05-17 08:16:52  Deleting existing share...
    2016-05-17 08:16:52  Creating share...
    2016-05-17 08:16:52  Share successfully created
    2016-05-17 08:16:52  Finished creating content shares
    2016-05-17 08:16:52  Stopping service WSUSService
    2016-05-17 08:16:52  Stopping service W3SVC
    2016-05-17 08:16:55  Configuring database...
    2016-05-17 08:16:55  Configuring the database...
    2016-05-17 08:16:55  Establishing DB connection...
    2016-05-17 08:16:55  Checking to see if database exists...
    2016-05-17 08:16:55  Database exists
    2016-05-17 08:16:55  Switching database to single user mode...
    2016-05-17 08:16:58  Loading install type query...
    2016-05-17 08:16:58  DECLARE @currentDBVersion       int
    DECLARE @scriptMajorVersion     int = (9600)
    DECLARE @scriptMinorVersion     int = (16384)
    DECLARE @databaseMajorVersion   int
    DECLARE @databaseMinorVersion   int
    DECLARE @databaseBuildNumber    nvarchar(10)
    IF NOT EXISTS(SELECT * FROM sys.databases WHERE name='SUSDB')
    BEGIN
        SELECT 1
    END
    ELSE
    BEGIN
        SET @currentDBVersion = (SELECT SchemaVersion FROM SUSDB.dbo.tbSchemaVersion WHERE ComponentName = 'CoreDB')
        SET @databaseBuildNumber = (SELECT BuildNumber FROM SUSDB.dbo.tbSchemaVersion WHERE ComponentName = 'CoreDB')
        DECLARE @delimiterPosition INT = CHARINDEX('.', @databaseBuildNumber)
        IF (@delimiterPosition = 0)
        BEGIN
            RAISERROR('Invalid schema version number', 16, 1) with nowait
            return
        END
        SET @databaseMajorVersion = SUBSTRING(@databaseBuildNumber, 1, @delimiterPosition - 1)
        SET @databaseMinorVersion = SUBSTRING(@databaseBuildNumber, (@delimiterPosition + 1), (10 - @delimiterPosition))
        IF @currentDBVersion < 926
        BEGIN
            SELECT 3
        END
        ELSE
        BEGIN
            IF (@scriptMajorVersion > @databaseMajorVersion OR
               (@scriptMajorVersion = @databaseMajorVersion AND @scriptMinorVersion > @databaseMinorVersion))
            BEGIN
                SELECT 2
            END
            ELSE IF (@scriptMajorVersion = @databaseMajorVersion AND
                     @scriptMinorVersion = @databaseMinorVersion)
            BEGIN
                SELECT 0
            END
            ELSE
            BEGIN
                SELECT 4
            END
        END
    END

    2016-05-17 08:16:58  Install type is: Reinstall
    2016-05-17 08:16:58  Creating logins...
    2016-05-17 08:16:58  Fetching machine account info
    2016-05-17 08:16:59  Found principal
    2016-05-17 08:16:59  Found account
    2016-05-17 08:16:59  Got binary SID
    2016-05-17 08:16:59  Setting content location...
    2016-05-17 08:16:59  Fetching ContentDir from registry store
    2016-05-17 08:16:59  Value is E:\WSUSDOWN
    2016-05-17 08:16:59  Swtching DB to multi-user mode......
    2016-05-17 08:16:59  Finished setting multi-user mode
    2016-05-17 08:16:59  Writing DB settings to registry...
    2016-05-17 08:16:59  Marking PostInstall done for UpdateServices-Database in the registry...
    2016-05-17 08:16:59  Starting service W3SVC
    2016-05-17 08:16:59  Configuring IIS...
    2016-05-17 08:16:59  Start: ConfigureWebsite
    2016-05-17 08:16:59  Configuring website on port 8530
    2016-05-17 08:17:45  2016-05-17 08:17:09  Info      IISCustomAction    Performing Setup Action, Command /Install
    2016-05-17 08:17:44  Info      IISCustomAction    Command /Install Succeeded

    2016-05-17 08:17:45  End: ConfigureWebsite
    2016-05-17 08:17:45  Configuring performance counters...
    2016-05-17 08:17:45  Configuring Stats.NET perf counter...
    2016-05-17 08:17:45  Configuring reporting perf counter...
    2016-05-17 08:17:45  Configuring client webservice perf counter...
    2016-05-17 08:17:45  Configuring server sync webservice perf counter...
    2016-05-17 08:17:45  Configuring API remoting perf counter...
    2016-05-17 08:17:45  Bringing services online...
    2016-05-17 08:17:45  Checking initialization status...
    2016-05-17 08:17:45  StartServer starting...
    2016-05-17 08:17:45  Generating encryption key to write to the registry...
    2016-05-17 08:17:45  Generating encryption key to write to the database...
    2016-05-17 08:17:46  Generating encryption key succeeded...
    2016-05-17 08:17:46  Setting WSUSService to autostart...
    2016-05-17 08:17:46  WSUSService is set to autostart.
    2016-05-17 08:17:46  Starting WSUSService...
    2016-05-17 08:17:46  WSUSService is now started.
    2016-05-17 08:17:46  Importing default detectoids.
    2016-05-17 08:17:46  Importing CriticalUpdates.xml...
    2016-05-17 08:17:46  Importing Drivers.xml...
    2016-05-17 08:17:46  Importing FeaturePacks.xml...
    2016-05-17 08:17:46  Importing MicrosoftCorporation.xml...
    2016-05-17 08:17:46  Importing SecurityUpdates.xml...
    2016-05-17 08:17:46  Importing ServicePacks.xml...
    2016-05-17 08:17:46  Importing Tools.xml...
    2016-05-17 08:17:46  Importing UpdateRollups.xml...
    2016-05-17 08:17:46  Importing Updates.xml...
    2016-05-17 08:17:46  Importing Windows.xml...
    2016-05-17 08:17:46  Importing Windows2000family.xml...
    2016-05-17 08:17:46  Importing WindowsServer2003DatacenterEdition.xml...
    2016-05-17 08:17:46  Importing WindowsServer2003Family.xml...
    2016-05-17 08:17:46  Importing WindowsXPfamily.xml...
    2016-05-17 08:17:46  Importing LocalPublisher.xml...
    2016-05-17 08:17:46  Importing LocallyPublishedPackages.xml...
    2016-05-17 08:17:46  Importing Applications.xml...
    2016-05-17 08:17:47  Importing Exchange.xml...
    2016-05-17 08:17:47  Importing Office.xml...
    2016-05-17 08:17:47  Importing SQL.xml...
    2016-05-17 08:17:47  Importing Exchange2000Server.xml...
    2016-05-17 08:17:47  Importing ExchangeServer2003.xml...
    2016-05-17 08:17:47  Importing OfficeXP.xml...
    2016-05-17 08:17:47  Importing Office2003.xml...
    2016-05-17 08:17:47  Importing SQLServer.xml...
    2016-05-17 08:17:47  Importing WindowsXP64BitEditionVersion2003.xml...
    2016-05-17 08:17:47  Importing DefinitionUpdateSusXml.xml...
    2016-05-17 08:17:47  Importing ClientServicingApiDetectoid.xml...
    2016-05-17 08:17:47  Importing default detectoids succeeded.
    2016-05-17 08:17:52  StartServer completed successfully.
    2016-05-17 08:17:52  Marking PostInstall done for UpdateServices-Services in the registry...
    2016-05-17 08:17:52  Mark initialization done in database...
    2016-05-17 08:17:52  End: Run
    2016-05-17 08:17:52  Postinstall completed


    Principal Consultant

    Tuesday, May 17, 2016 6:31 AM
  • This is perfect, thanks! Fixed my problem perfectly!
    Wednesday, August 3, 2016 6:50 PM
  • Thank you so much! Simplest answer by far!
    Tuesday, August 16, 2016 10:21 PM
  • Great stuff!!!  put in an iSCSI Path: <VALUE>W:\wsus2012</VALUE> and "Bobs your uncle!" i could konfigure it. Thankyou
    Wednesday, October 26, 2016 1:48 PM
  • Extremely helpful. Solved my issue. Thanks.
    Tuesday, April 18, 2017 7:13 PM
  • Running the WSUS.msc resolved the problem for me but the error flag was still showing up so I decided to try editing the XML but I am not able to save my changes. Is there something I need to do to allow me to change the XML file?

    Better to look, listen and think for one's self.

    Thursday, April 20, 2017 1:59 PM
  • You have to use notepad and run notepad as administrator and then copy text in xml file. save replace it into the same xml file
    Tuesday, October 3, 2017 5:25 AM
  • Good afternoon IT Guru

    My company WSUS had also crashed ,reason I dont know what happened.I had then decided to unstall and reinstall the WSUS,but the installation wont complete I am running into the same exact error like your above.

    Can you please tell me ,where did you get the sample .XML file that helped you.And this value that you changed in which file and location are they exactly ?

    Friday, October 27, 2017 12:51 PM
  • Thank you for the post, hackeld! Quick and effective.

    Almost 2018 and still having to do this.

    Tuesday, December 19, 2017 4:03 PM
  • 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
    Worked like a charm.  Screw the GUI.  
    Tuesday, May 1, 2018 1:57 PM
  • Saved a lot of time & effort, Thank you!!
    Tuesday, November 13, 2018 12:33 PM
  • Worked perfectly! Thanks so much! Saved me a lot of time.

    KOPFteam GmbH Support & Administration in Munich/Germany www.kopfteam.de

    Sunday, November 25, 2018 12:34 PM
  • The parameter should be SQL_INSTANCE_NAME=databaseServer[/InstanceName].

    and the full command:

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


    Alex Ignatenko | MCSE | MCITP | MCTS:SCCM, Lync, Virtualization

    Tuesday, March 5, 2019 9:59 PM