Server 2012 WSUS Post-deployment configuration fails RRS feed

  • Question

  • I completed all available Windows Updates and proceeded to add the WSUS role on Server 2012R2.  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.

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

    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>

    Now when I launch Post Installation Tasks it takes a little longer to fail and this is the log generated:

    2015-02-06 10:40:50  Postinstall started
    2015-02-06 10:40:50  Detected role services: UI, WidDatabase, Services
    2015-02-06 10:40:50  Start: LoadSettingsFromXml
    2015-02-06 10:40:50  Start: GetConfigValue with filename=UpdateServices-Services.xml item=ContentLocal
    2015-02-06 10:40:50  System.TypeInitializationException: The type initializer for 'Microsoft.UpdateServices.Internal.UtilConstants' threw an exception. ---> System.IO.InvalidDataException: Invalid installation directory
       at Microsoft.UpdateServices.Internal.SetupInfo.GetInstallDirectory()
       at Microsoft.UpdateServices.Internal.UtilConstants..cctor()
       --- End of inner exception stack trace ---
       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)

    I am at a lost.  Please help and thanks in advance!!

    Friday, February 6, 2015 7:15 PM


  • The text in this post is almost way too similar to the text in this thread from July, 2013, but that's where you'll find the answer.

    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
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    Friday, February 6, 2015 11:50 PM