Why I prefer PSCONFIGUI.EXE over PSCONFIG.EXE

Just today a nice person posted a comment on my blog explaining an issue some customers were running into which was most likely caused by the fact that these customers were using PSCONFIG.EXE rather than PSCONFIGUI.EXE after installing a CU.

PSCONFIGUI.EXE is the UI based configuration wizard which performs several tasks one after the other after installing fixes.

PSCONFIG.EXE is the command line tool which gives users granular control over all tasks that are executed and which is therefor often quicker than PSCONFIGUI.EXE.
On the other hand that means that it is up to the user which operations are performed by PSCONFIG.EXE

Most customers just ran the following command
PSCONFIG -cmd upgrade -inplace b2b -wait

But that command only performs a subset of operations performed by PSCONFIGUI.EXE. E.g. it will not update the files in the _app_bin directory of the web applications!

Looking into the list of operations that can be done using PSCONFIG.EXE gives you an idea about which operations are possible. The yellow marked operations are those that are automatically performed by PSCONFIGUI.EXE after installing a fix.

Usage:
        psconfig.exe -cmd <Command> [Parameters]
        psconfig.exe -help [Command]
        psconfig.exe -?
Commands:
        setup
        standaloneconfig
        configdb
        helpcollections
        secureresources
        services
        installfeatures
        adminvs
        upgrade
        evalprovision
        applicationcontent
        quiet

The following issues which were reported in the last couple of weeks could have been avoided by using PSCONFIGUI.EXE rather than PSCONFIG.EXE:
– MethodNotFoundException in Microsoft.Office.Server.UserProfiles.ServerStub.dll
– Search not working due to incorrect version of the Microsoft.Office.Server.Search.ServerProxy.dll

In case you need to use PSCONFIG.EXE to automate some tasks you should use the following command:
PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install

Some customers have a requirement to separate the installation of the fix and the PSCONFIG run. In this case you should at least run the following powershell command after installing the fix to ensure that all application content files are updated:

Install-SPApplicationContent

More details about this command can be found here.

110 Comments


  1. Hello Stephan,

    Thanks for this very useful information.
    In our case, we have many farms, so PSConfig is very useful when coupled with Remote Powershell
    Is the problem you mentioned specific to a particular context ? Is there a patch or workaround for console PSConfig ?

    Thanks by adance for your answer.

    Reply

  2. However sometimes the UI won't run through and than you have to sometimes try different options using psconfig.exe but generally I agree.

    Reply

  3. Hi gr54,
    great question! I have added a paragraph to the article outlining the PSCONFIG.EXE command which would cover the most important tasks of PSCONFIGUI.EXE
    Cheers,
    Stefan

    Reply

  4. Thanks for the information.
    Tried to apply a CU in our test environnement and the PSCONFIGUI.EXE was hanging on two of the serveurs (of the 5) so I reverted to using the PSConfig.exe which did complete (with errors which we are addressing).

    I used this reference:
    http://blogs.technet.com/b/stefan_gossner/archive/2015/07/15/important-psconfig-is-mandatory-for-july-2015-cu-for-sharepoint-2013.aspx

    I believe that UI hit a race condition but I cannot be sure (could not find much in terms of logging),

    (did get a more verbose error in psconfig "SPUpdatedConcurrencyException was thrown" and by rebooting or setting the start affinity /1 psconfig…. I was able to complete the process on the problem serveurs)

    This environnement is still indicating upgrade required and we are adressing the errors but at least it went thru usign the command prompt.

    I will use the full command going forward as I try an stabilize our environnement before moving the CU forward.

    Reply

  5. Great information. A while ago I ran into an upgrade issue and this was probably why. I'll be running the UI from now on.

    Reply

  6. Thanks Stefan, We have the issue with the
    – MethodNotFoundException in Microsoft.Office.Server.UserProfiles.ServerStub.dll
    after running the PSCONFIG after the August CU install, can I now run the full psconfig command to fix the issue, the GUI doesn't want to upgrade any more?

    Reply

  7. Hi Pen,
    if you already ran psconfig.exe with the upgrade you can just run the following command:
    PSConfig.exe -cmd applicationcontent -install -cmd installfeatures -cmd secureresources
    Cheers,
    Stefan

    Reply

  8. Hi Stephan, Thanks for sharing this. That explains a lot as I was running PSCONFIG.EXE instead the GUI. I’ll have a look on that at next update.
    Cheers, Heiko

    Reply

  9. Hi Stefan,

    Is it possible to find out what operations PSCONFIGUI is performing so we can compare with the list above?

    Cheers

    Reply

  10. Hi Marina,

    I have highlighted the operations done by PSCONFIGUI.EXE in yellow color above.

    Cheers,
    Stefan

    Reply

  11. Hi Stefan.

    Thanks for your answer !
    And sorry for the typo on your name in my first post ^^'

    Cheers,

    Reply

  12. The product group released the August 2015 Cumulative Update for the SharePoint 2013 product family.

    Reply

  13. Stefan, how do you know if psconfig is required after security patches (such as ms15-99) vs. other patching like CUs? Is it always required for security bulletin updates?

    Reply

  14. Hi Jim,

    it is always required.

    Cheers,
    Stefan

    Reply

  15. There is some disagreement within our team about this. On security patches specifically, what is psconfig doing?

    Reply

  16. Our next cumulative update packages are available. For SharePoint we are still suggesting to install

    Reply

  17. Hi Jim,

    some security fixes update the database schema, some update features or change security settings in your system.
    Some are in dlls which need to be updated in the _app_bin directory of your web applications.
    All that is done by PSCONFIG.

    Cheers,
    Stefan

    Reply

  18. Why then does the status of my databases say no action required after applying a critical patch and no psconfig was run? When installing ms15-099 it is informational and after installing this patch I see I do need to run psconfig as now my database status
    is Database is in compatibility range and upgrade is recommended. Is there differences in critical and informational patches on how they are installed? We see in the install instructions for the patches some say to run psconfig and others like critical patches
    do not, why?

    Reply

  19. Hi Dave,
    it depends on the specifc critical patch. Some contain DB modifications, some not. MS15-099 DB schema data as it contains the SharePoint foundation component (sts2013). I don’t know from the back of my head if the included DB schema has changed for September
    PU or not. If (e.g.) the included DB schema has not changed in September but (e.g.) in August, then it depends whether you installed September PU on top of August CU or on top of an older CU. In one case the DB schema requires upgrade in the other not.

    About the KB articles: I don’t have information why some contain the info to run the config wizard and other not. The reason might be that security fixes are released by a different team than CUs.

    Anyway: always run the config wizard to ensure that all required changes are applied.
    Cheers,
    Stefan

    Reply

  20. Hi Stefan,
    You mention various psconfig commands such as 'helpcollections', 'secureresources', 'services', 'installfeatures' and 'applicationcontent'. Is there any reason the equivalent SP PS commands aren't promoted? Such as 'Install-SPHelpCollection', 'Initialize-SPResourceSecurity',
    'Install-SPService', 'Install-SPFeature -AllExistingFeatures' and 'Install-SPApplicationContent', or even 'Upgrade-SPFarm'?

    Granted they probably won't be as thorough as psconfigui.exe but if people are wanting to execute psconfig.exe commands to manually update their farms, then wouldn't the PowerShell equivalents be more appropriate (especially when using remote sessions)?

    Just wondering…

    Reply

  21. Hi Greg,
    no specific reason. I just did not think about them when writing the blog post. And as the fix installation requires local access it should be ok for psconfig as well.

    Cheers,
    Stefan

    Reply

  22. Fair enough. I just come from a "try to do everything in SharePoint with PowerShell" background and tend to shy away from psconfig/stsadm if possible (granted there are things stsadm does where there is no PS equivalent). I use those PS commands when building
    a farm from scratch so they're fresh in my mind.

    Reply

  23. Not sure if this is the correct forum or location to ask this question, but is there a reason why as of SP2010 MAY 2015 CU “Missing patch” is displayed in the Products Configuration Wizard after install the CU on all servers? I am seeing this on the App server during the initial run of PCW — it doesn’t see the patch on the web front-end server(s).

    Reply

    1. Hi Brent,
      I would suggest to try
      PS C:\> $spprod = Get-SPProduct
      PS C:\> $spprod.Servers | select ServerName, Products, InstallStatus
      That will tell you which server misses a patch.
      Then you can drill down on the server that shows missing the patches using the following commands:
      PS C:\> $spprod = Get-SPProduct
      PS C:\> $spprod.Servers | ? { $_.InstallStatus -eq “InstallRequired” } | % { $_.RequiredButMissingPatches }
      Cheers,
      Stefan

      Reply

  24. Stefan,
    Thanks for the article. One question, though, regarding your comment about running the commands to get update status of servers. I am having a server that is returning Install Required and it is for KB3054861. When I try running the Windows Update file for this KB, it states that “There are no products affected by this package installed on this system.” If that is the case, why is SharePoint reporting that an install is necessary. I don’t have Excel Service turned on for this server, but tried turning on Excel Services, and still received the error. When checking Windows Update (via Control Panel), it states that this package has been installed three times, and there is no option to uninstall. When checking via command line prompt, windows update says this package isn’t installed.

    Reply

    1. Actually found the answer elsewhere, but not sure why the following command updates SharePoint to recognize the server is now correct.
      On affected Server, open SharePoint Management shell and run:
      Get-SPProduct -local
      Any discussion as to why this works?

      Reply

      1. My understanding is that this evaluates the installed components on the current machine and updates this information in the config database.
        Sounds as if there was an incorrect information in the config db which got corrected using this statement.

        Reply

      2. THANK YOU! thecase for Get-SPProduct -local

        Reply

  25. Hi Stefan,
    Is there any guideline to estimate the time required to execute PSConfig wizard on a Prod environment where there are multiple databases with terabytes of data?
    Thanks… Justin J

    Reply

    1. Hi Justin,
      sorry that is hard to say. To many factors which influence it (e.g. previous CU level, network speed, CPU, other activities on SQL server, …).
      You can speed things up by detaching all content databases before running PSConfig and then reattach them in parallel using multiple powershell windows to perform DB upgrade in parallel for multiple DBs.
      Cheers,
      Stefan

      Reply

  26. Hello Stefan, I was sent an email and it says that the workflows need to be updated along with with the SharePoint 2013 software updates. Should I update this? I currently run the GUI then the PSConfig.exe ….
    This is from https://technet.microsoft.com/en-us/library/dn133867.aspx
    Run cmdlets after software updates are installed
    The latest update level must be installed on SharePoint Server 2013, Workflow Manager, and Workflow Manager Client before you run the update cmdlets.
    $credential = [System.Net.CredentialCache]::DefaultNetworkCredentials
    $site = Get-SPSite()
    $proxy = Get-SPWorkflowServiceApplicationProxy
    $svcAddress = $proxy.GetWorkflowServiceAddress($site)
    Copy-SPActivitiesToWorkflowService -WorkflowServiceAddress $svcAddress -Credential $credential -Force $true
    Thank you, I love your blog and I reference it ALL the time! Matt

    Reply

    1. Hi Matthew,
      you can patch SharePoint and Workflow Manager separately.
      When updating Workflow Manager and Workflow Manager client ensure to use the steps outlined above.
      Cheers,
      Stefan

      Reply

  27. Hi Stephan,
    Is there a way to force psconfigui to run a second time in upgrade mode? If I get a failure that I fix, then try to re-run psconfigui it just goes through the regular wizard and not the post-upgrade wizard.
    Thanks,
    Marcus

    Reply

    1. Hi Marcus,
      PSCONFIGUI should only mark a step as completed if it did not fail on this step.
      So if there was a critical problem which caused PSCONFIGUI to fail you could just run it again and it would perform the failed steps.
      Cheers,
      Stefan

      Reply

    2. If PSConfigUI doesn’t want to show you upgrade screen that means all major upgrade steps have been done and you can just invoke failed step from PSConfig.
      You can change value of SetupType key to B2B_UPGRADE value from below path:
      HKLM:\Software\Microsoft\Shared Tools\Web Server Extensions\.0\WSS
      This will force upgrade in PSConfigUI, but I advise not to do it manually.

      Reply

  28. Great explanation Stefan – you ROCK!

    Reply

  29. Below is the closest possible call of PSConfig which will do what PSConfigUI does on B2B upgrade:
    PSConfig.exe -cmd installCheck -cmd helpcollections -installall -cmd secureresources -cmd services -install -cmd installfeatures -cmd upgrade -inplace b2b -cmd applicationcontent -install
    Some “unexposed” commands still missing, like “-cmd global -restartiis” but iisreset will be anyway triggered in finalization step, so I think it’s safe to call PSConfig this way as a stable alternative to PSConfigUI.
    “-cmd installCheck” can also be skipped as it makes no sense by itself but only when using param “-noinstallcheck”.
    The only significant difference from Stefan’s example: “-cmd services -install”, and I recommend to include it on each upgrade.

    Reply

    1. Hi Alex, thanks for the summary!
      I did not include “-cmd services -install” as I have never seen a CU where this is relevant.
      Can you explain in which scenario or for which CU “-cmd services -install” is required?

      Reply

      1. Hi Stefan,
        I found this step important because it invokes below methods for each Service Application (strictly speaking – assembly class) found under reg key HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\15.0\WSS\Services (around 40-50 subkeys in 2013 farm):
        (SPService).Update()
        (SPServiceInstance).Update()
        (SPServiceProxy).Update()
        I don’t have the concrete example of CU which requires it, but I can imagine some scenarios where it may be required.
        For example, many Service Applications register Health Analyzer Rules in (SPService).Update() method: SPHealthAnalyzer.RegisterRules(Assembly.GetExecutingAssembly()).
        If product team decide to implement new rule or change, let’s say, schedule for existing – it won’t be updated. This one is not that critical.
        But below services have more important stuff in Update() method:
        AppManagementService: CreateLicenseRenewalTimerJob
        SessionStateService: RefreshWebConfigModifications
        StateService: StateServiceExpiredSessionJobDefinition.EnsureJob
        DiagnosticsService: DiagnosticsService.PushToRegistry, CreateTimerJob
        As potential issues: missing new Timer Job, not pushed web.config changes for Web Application, missing new or changed registry key/value on server.
        Some services don’t have anything in Update() method, so it’s OK to skip it for them.
        Just knowing this, I would advise adding “services -install” param to PSConfig after CU installation. Especially when we have major changes in CU like new Cloud Search SA.
        Described above could be one of the reasons why this param included in PSConfigUI on Upgrade step.

        Reply

        1. Thanks Alex and Piotr,
          I have added the parameter to the article above.

          Reply

      2. Wasn’t it needed after Hybrid Search was introduced as a new service? Anyway, it should be needed with a CU that adds a new service under “Software\Microsoft\Shared Tools\Web Server Extensions\15.0\WSS\Services\”.

        Reply

  30. Hi Stefan, quick question; Is there a way to determine which of the parms will lock the databases? So, if I do psconfig.exe -cmd secureresources, does that lock the DBs and render SharePoint down?

    Reply

  31. Hi Stephan
    Hate the state the obvious, but can you confirm it is only this command which is needed after a CU in the monthly releases?
    PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install

    Reply

  32. Hi Stefan,
    we have some share point servers that are automatically patched using windows update but from the last 2 years we have not ran PSCONFIG on any of the servers, would it be ok to run it now , do we need to consider any special measures before running PSCONFIG.
    Sometimes it shows upgrade available and sometimes it shows upgrade required and again switched back to upgrade available.
    Thank you for your help in advance !
    Shyam

    Reply

    1. Hi Shyam,
      yes – you should run PSConfig.
      Cheers,
      Stefan

      Reply

      1. I am planning to install October CU, so is it OK to run the PSCONFIGUI after installing CU ?

        Reply

        1. Yes, that is sufficient.

          Reply

  33. Hi Stefan,
    Is this command valid also for SharePoint 2010 or only 2013 ?
    Best regards,
    Michal

    Reply

  34. Hi Stefan,
    Will this command work for SPS 2016. I want to add a new server and select MinRole as “Search” What option do I need to provide in the command.
    Regards,

    Reply

    1. Hi Patrick,
      this is the command to be used after a patch is installed.
      It works as well in SP2016 and SP2013.
      To join a server to a farm I would recommend to use the UI version of the config wizard.
      Cheers,
      Stefan

      Reply

  35. Hi Stephan,
    I can’t accomplish successfully psconfig -cmd upgrade -inplace b2b -wait (after SP2010 April 2016 CU) command as all the time I’m receiving error. From the logs I can see that there is some conflict: Failed to upgrade SharePoint Products.
    An exception of type Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException was thrown. Additional exception information: An update conflict has occurred, and you must re-try this action. The object SPClaimProviderManager Name=ClaimProviderManager was updated by domain\account, in the PSCONFIG (3668) process, on machine SERVERNAME. View the tracing log for more information about the conflict. I searched many sites but I couldn’t find any hints. Is there any command which should accomplish SharePoint upgrade successfully ?

    Reply

    1. Hi Marek,
      This looks like a race condition between two threads (potentially event receivers). So it could be a side effect of some custom features.
      You might want to open a support case with Microsoft to get this analyzed.
      Cheers,
      Stefan

      Reply

      1. This one is a no-brainer. Whenever you see a SPUpdatedConcurrencyException, you need to clear the configuration cache – https://blogs.msdn.microsoft.com/josrod/2007/12/12/clear-the-sharepoint-configuration-cache/
        Stop the timer service, go to C:\ProgramData\Microsoft\SharePoint\Config\GUID, delete all XML files (you should have many xml files and one ini file; leave the ini file), open the ini file in notepad, replace the number with 1 and start the timer. Watch out, because it will generate a lot of IO, so just give it a few minutes to calm down and run psconfig again.

        Reply

  36. Run on Central admin server(s)
    psconfig.exe -cmd helpcollections -installall -cmd secureresources -cmd services -install -cmd installfeatures -cmd applicationcontent -install -cmd upgrade -inplace b2b -force -wait
    Run on non CA servers
    psconfig.exe” -cmd helpcollections -installall -cmd secureresources -cmd services -install -cmd installfeatures -cmd upgrade -inplace b2b -force -wait

    Reply

    1. This info is incorrect as it misses -cmd applicationcontent -install on non CA servers which is vital for all WFEs.

      Reply

  37. Hi Stephan
    This TechNet article https://technet.microsoft.com/en-us/library/cc263093(v=office.14).aspx mentions that use of the PSConfig requires a particular order for each command included. Following it’s instructions I come out with this:
    PSConfig.exe -cmd secureresources -cmd services -install -cmd installfeatures -cmd applicationcontent -install -cmd upgrade -inplace b2b -wait -force
    This is a different order than what you have listed in your article. Is there a reason we should we go with your version over the TechNet article?
    Thanks very much.

    Reply

    1. Hi George,
      this is only relevant if you excuse the different actions in separate psconfig commands. If you as all actions in a single command the sequence in the command line does not matter as psconfig take care of the correct sequence.
      Cheers,
      Stefan

      Reply

  38. Hi Stefan,
    We’re currently running with a partially upgraded farm where the PSConfig wizard was run against the content databases but not against the system databases (search, metadata, user profile).
    If psconfig is run now, will it cause an outage on the farm?

    Reply

    1. Hi Jonathon,
      for SharePoint 2010 and 2013: yes.
      It is unsupported to serve content from a farm while any databases are being upgraded.
      Otherwise there can be exceptions and undefined behavior when objects in the database are locked, deleted or changed by PSConfig.
      The downtime will be short as the content DBs have been upgraded already and only the other databases require upgrades.
      With SharePoint 2016 there is no downtime for this step.
      Cheers,
      Stefan

      Reply

  39. May i know how to upgrade SharePoint Search Databases,
    in CA -> Review Databases status-> For Search Databases it is showing like Database is too old and upgrade is required.
    I am unable to access the Search Crawl Logs and Content Sources also it is giving sorry something went wrong error. Is this database status causing this issue?
    if yes, Please help me how to upgrade Search Databases.

    Reply

  40. Whenever I run -cmd secure resources the command fails with UnauthorizedAccessException:
    Exception: System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
    at System.Security.AccessControl.Win32.SetSecurityInfo(ResourceType type, String name, SafeHandle handle, SecurityInfos securityInformation, SecurityIdentifier owner, SecurityIdentifier group, GenericAcl sacl, GenericAcl dacl)
    at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, SafeHandle handle, AccessControlSections includeSections, Object exceptionContext)
    at System.Security.AccessControl.FileSystemSecurity.Persist(String fullPath)
    at System.IO.FileInfo.SetAccessControl(FileSecurity fileSecurity)
    at Microsoft.SharePoint.Administration.SPResourceAccess.SetFileAccessRule()
    at Microsoft.SharePoint.Administration.SPResourceAccess.SecureResources(Boolean isSingleBox, EventHandler`1 progressUpdateEvent)
    at Microsoft.SharePoint.PostSetupConfiguration.SecurityTask.Run()
    at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
    The above was gathered from SharePoint Error logs at …Web Server Extensions\15\LOGS. Running SharePoint 2013 Standard.
    I am seeing the following message even though 7/8 steps were successful (secureresources was the failure): “Configuration of SharePoint products failed” successful configuration settings: 7, unsuccessful configuration settings: 1

    Reply

    1. Hi Mike,
      sounds to me as if the current user is not a local administrator on the box.
      Cheers,
      Stefan

      Reply

  41. In the command line example, the parameter “-install” is listed twice. Is that by design?

    Reply

    1. The first is to install applicationcontent, the second is to install services.
      Each segments starts with “-cmd”
      Cheers,
      Stefan

      Reply

  42. Hi, We are receiving this error with our farm when running get-spproduct -local.

    Get-SPProduct : Object reference not set to an instance of an object.
    At line:1 char:1
    + Get-SPProduct -Local
    + ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidData: (Microsoft.Share…letGetSPProduct:SpCmdletGetSPProduct) [Get-SPProduct], NullReferenceException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SpCmdletGetSPProduct

    This error only occurs on the front web end servers, can you please assist and thanking you in advance for your assist.

    Reply

    1. Hi Amit,
      I have never seen this error.
      Please open a support case with Microsoft to get this analyzed.
      Thanks,
      Stefan

      Reply

      1. Thank you, We are logging a support case with Microsoft South Africa, is it possible for you to assist with this matter

        Reply

  43. Hi Stefan, One Quick question, Not sure it is the right place to ask this question . Advise me if not.

    Is it possible to remotely run the PSConfig.exe using Powershell to completely automate SharePoint patching.

    I tried below script and i am not successful. Is it a advisable to run PSConfig.exe remotely . Is there any technical limitation

    Invoke-Command -ComputerName “SystemName” -Credential $cred -ScriptBlock {Add-PSSnapin Microsoft.SharePoint.PowerShell; psconfig.exe -cmd helpcollections -installall -cmd secureresources -cmd services -install -cmd installfeatures -cmd applicationcontent -install -cmd upgrade -inplace b2b -wait }

    Reply

    1. Hi Naveen,

      I’m not aware of a method to do this remotely.

      Cheers,
      Stefan

      Reply

  44. Hi Stefan, we have a problem following an SP update that we had to restore the content database from backup in SQL. Although this brought the Site Collection back up and all content (documents, lists, etc.) are all working fine, none of our service applications have worked since (search crawling fails, BCS fails to connect, OWAs stopped working, user profile sync fails etc.). Is there a way to rebuild/repair the links between the Service Applications and the content database?

    Reply

  45. Stefan – the listing of PSCONFIG.EXE commands that you have there appears to be incomplete. One not shown is “showcentraladmin”. This is the command used in the shortcut added to a Windows Server to which SharePoint has been installed and that launches a browser connection to Central Administration. This command is also missing from the TechNet PSconfig command-line reference, https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-server-2010/cc263093(v=office.14).

    Reply

  46. Hi Stefan,

    If a sharepoint admin would like to delegate to other users to be able to patch a sharepoint farm. Which permissions would be required to complete the process all the way through to upgrading all the content databases and running PSCONFIGGUI.exe.

    Is it sufficient with farm admin and add-spshelladmin or is more needed?

    Reply

  47. Hi,
    I am facing the problem to install the KB4484506 only on one of 3 servers, at the end of the installation it simply fails. Error log https://docs.microsoft.com/en-us/answers/questions/92544/error-installing-sharepoint-cus.html.

    checking the status by powershell I see:

    ServerName Products InstallStatus
    ———- ——– ————-
    SHR03 {Language Pack for SharePoint and Project Server 2016 – German/Deutsch, Microsoft SharePoint Server 2016} UpgradeBlocked
    SHR02 {Language Pack for SharePoint and Project Server 2016 – German/Deutsch, Microsoft SharePoint Server 2016} InstallRequired
    SHR01 {Language Pack for SharePoint and Project Server 2016 – German/Deutsch, Microsoft SharePoint Server 2016} UpgradeBlocked
    SHR03 {Language Pack for SharePoint and Project Server 2016 – German/Deutsch, Microsoft SharePoint Server 2016} UpgradeBlocked
    SHR02 {Language Pack for SharePoint and Project Server 2016 – German/Deutsch, Microsoft SharePoint Server 2016} InstallRequired
    SHR01 {Language Pack for SharePoint and Project Server 2016 – German/Deutsch, Microsoft SharePoint Server 2016} UpgradeBlocked

    PatchName : Security Update for Microsoft SharePoint Enterprise Server 2016 (KB4484506) 64-Bit Edition
    PatchGuid : a5958d68-22bd-4233-b4f3-2b8de8c57834
    Version : 16.0.5056.1001
    Link : https://support.microsoft.com/kb/4484506
    ServersMissingThis : {SHR02}

    PatchName : Security Update for Microsoft SharePoint Enterprise Server 2016 (KB4484506) 64-Bit Edition
    PatchGuid : a5958d68-22bd-4233-b4f3-2b8de8c57834
    Version : 16.0.5056.1001
    Link : https://support.microsoft.com/kb/4484506
    ServersMissingThis : {SHR02}

    Our last option is to completely remove the SHR02 from the farm and add a new one. I know I could remove it followings:

    psconfig.exe -cmd configdb -disconnect

    If this fails then:

    Disconnect-SPConfigurationDatabase

    But, I was looking for a way to add the new one before removing the old one in order not to have a downtime of the server. The wizard obviously blocks the configuration fue to the missing installation, I found the following:

    PSCONFIG.EXE -cmd configdb -connect -server sqlServer -database SharePoint_Config -dbuser domain\user -dbpassword myPassword

    but it also blocks:

    The server parameter specified with the configdb command is missing or invalid.
    Failed to connect to the existing server farm located at the specified database server and database name. The database name is not a valid configuration database.

    Do you have any idea how to do?

    Reply

    1. Hi Emaborsa,
      I cannot open the first link you pasted – get an access denied.
      Anyway: analyzing the installer log should tell what is causing the issue.
      If you have problems to resolve it I would recommend to open a ticket with Microsoft support.
      Cheers,
      Stefan

      Reply

      1. I apologize, I didn’t know that forum is a private one”
        However, I opened a ticket, spent days on the phone with a Microsoft Expert… We have not been able to solve it. After more than one month I decided to set up another server to replace the faulty server and kick it out from the farm.
        Everything done using powershell, since the wizard blocks any configuration due the missing package.

        Reply

  48. I opened a Microsoft ticket, but after one month with no result, I decided to set up a new server, added it to the farm using powershell commands and removing the old one.
    Now everything is working.

    Reply

  49. Hi Stefan,

    Hope you are doing good.
    We have a multiple sharepoint 2019 on prem environments which get patched every month.
    While running psconfig.exe commands, memory utilization goes to 100% and sometimes command gets crashed with out of memory exception, however same is not the case with psconfig GUI.
    Also, it is observed that psconfig GUI takes more than an hour to complete per server despite we upgrading all the content databases before running psconfig.

    psconfig command used: PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install

    Kindly suggest.

    Reply

    1. Hi Prathamesh,
      sounds as if this requires a deeper analysis.
      If you need assistance to get this analyzed I would suggest to open a support case with Microsoft.
      Cheers,
      Stefan

      Reply

  50. Hi Stefan,

    Hope you are doing good.
    We have a multiple sharepoint 2019 on prem environments which get patched every month
    While running psconfig commands, memory utilization goes to 100% and sometimes command gets crashed with out of memory exception, however same is not the case with psconfig GUI
    Also, it is observed that psconfig GUI takes more than an hour to complete per server despite we upgrading all the content databases before running psconfig.

    Kindly suggest.

    Reply

  51. Hi Stefan,
    I have updated latest security patch yesterday in sharepoint 2013( non production server only) . after installing the patch i have run the config wizard. In few servers it updated fine and in 2 servers failed ( 1 web front and another web applciation ) .
    i have run the patch without stopping the search service and other services. only stopped IIS . Could you please share me the correct steps to follow for security patch update.
    2) I have another error also, in the main server am getting the error like web config file missed, which i didnt took back. (I think onlty restore of vm is another option)
    3) Please guide us

    Reply

    1. Hi Siva,
      about the web.config: you should be able to copy it from one of the other machines. PSConfig should update it correctly afterwards.
      About the other issues: from the symptoms it is not possible to decide what went wrong. My suggestion would be to review the installer logs and if you cannot find out what went wrong opening a ticket with Microsoft would be advised.
      Cheers,
      Stefan

      Reply

  52. I’ll come back to this thread with more findings, but we have a case with MS where we’re seeing multiple SP2019 farms in 1 domain with the same problem Prathamesh describes… psconfig uses all the memory on the server and fails the first time. The second run of psconfig works, even though memory also climbs to over 8 or 9 GB on a 12GB server. Commands we’ve tried:
    psconfig.exe -cmd helpcollections -installall -cmd secureresources -cmd services -install -cmd installfeatures -cmd applicationcontent -install -cmd upgrade -inplace b2b -force -wait
    And
    psconfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install
    from the MS ZDP article: docs.microsoft.com/en-us/sharepoint/upgrade-and-update/sharepoint-server-2016-zero-downtime-patching-steps
    As with others, psconfig works fine, but with 15 servers in 1 farm and other multi-server farms, scripting psconfig is the best solution.

    Reply

  53. Meant to say psconfigUI (the GUI) works fine.

    Reply

  54. Tried something different… I set the affinity to 1 processor. For some reason this worked. Why setting the affinity to 1 processor would have anything to do with preventing a memory leak or whatever is causing it to use all the memory in the server, I don’t know. Psconfig memory use never even went over 1GB, but it still seems to run slower with this method, so like the GUI, not the best solution, but at least it’s scriptable.

    Ran this from admin PS, which causes another window to open with the affinity set:
    $cmd=”start “+””””” /affinity 1 “+”””C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\BIN\Psconfig.exe””” + ” -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install”
    cmd.exe /c $cmd

    You can confirm affinity is set to 1 by opening taskmgr after running the above commands, going to details, right-click PSCONFIG, set affinity, you should see it set to only 1 proc.

    Reply

  55. Hi Stefan,
    After running the PSConfig command I get this error
    Feature upgrade incomplete for Feature ‘CustomTiles’ (Id: 15/’68642d38-a556-4384-888c-082844fbf224′) in WebApplication ‘SharePoint – 80’. Exception: No root site specified.
    How to resolve this

    Reply

    1. Hi Sri,

      do you have a root site collection in the affected web application?

      Cheers,
      Stefan

      Reply

  56. Still no fix from MS on our memory leak problem, which is the same problem Prathamesh described, despite providing a ton of logs, procdumps, and other troubleshooting data. Our only solution is to use psconfigUI or setting affinity to 1 processor.

    Reply

  57. Stefan or anyone, do you have any idea how to automate psconfigUI (the GUI) on SharePoint farms with a large number of servers? With psconfig and PS remoting, automation is pretty simple, but currently, we have to manually run the GUI on each server in the farm due to the memory leak with psconfig, and still no fix from MS.

    Reply

  58. Hi Stefan,

    Just a quick question for optimizing the patch process. On SharePoint 2013 (and in general) we install the full package binaries, all at the same time with something similar to Russ Maxwell’s script. it works fine and fast.

    So far we have been running config wizard 1 at a time with your recommendation “PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install”.

    Running this 1 at a time takes a long time for huge farms. We are thinking if it is ok “just” to run it first on the CA server and make sure database scheme are updated etc. and then if we could run it on all other sharepoint servers in the farm at the same time? Would that be a supported/recommended scenario?

    Thanks

    /Jan

    Reply

    1. Yes, that would work.

      Reply

      1. Thanks – We’ll try that

        Reply

    2. Hi Stefan, I would like to confirm. I have to to patch a SP2013 farm with ten servers and a SP2019 farm with eigth servers. Can we run the wizard on the CA server first; then we can run the wizard in the rest of the servers in parallel?. We usually run the wizard on each server until the previous had finished ( secuential).

      Reply

      1. Hi Luis,
        I can confirm that.
        For SP2019 this only applies if you are NOT using zero downtime patching. For zero downtime patching you need to have half of the server online while psconfig can be executed on the other servers.
        As you outlined: the config wizard needs to be completed on one of the servers (the Central Admin server) before you can run the config wizard in parallel on the other servers.
        Cheers,
        Stefan

        Reply

  59. Hi Stefen, Currently we are facing issues as reported in the below blog in our SP 2019 farm when we run the configuration wizard using psconfig.exe . We use the powershell command and not the GUI for all our farms and the command we use is below . So could you please check and let us know if you aware of the issue and guide us on the change we need to make for our patching process ?

    Command: psconfig -cmd helpcollections -installall -cmd secureresources -cmd services -install -cmd installfeatures -cmd applicationcontent -install -cmd upgrade -inplace b2b -force -wait

    https://docs.microsoft.com/en-us/answers/questions/293548/sharepoint-2019-psconfigui-takikng-very-long-time.html

    Reply

    1. Hi Karthikeyan,
      I’m aware that a large number of web applications affect the performance. The recommended patching method would be zero downtime patching which would ensure that there is no downtime involved in running psconfig which would reduce the impact of a long running PSConfig operation.
      Cheers,
      Stefan

      Reply

      1. Hi Stefan, Thanks for your reply. Yes, we use Zero downtime patching method only and we have less than 10 Web application in our 2019 farm right now. We noticed the Search Crawling running during the same time as we patch and affects the psconfig . We will stop the search crawling and test the psconfig next time. We will let you know if that works

        Reply

      2. We have a case open with MS regarding the longer psconfg times on SP2019 (compared to SP2016) and they have been able to repro. In the jmeantime/until MS has a fix for this problem (if they ever have one), we’re currently/during downtime reorganizing by moving sites to host header web application in order to reduce the number of web applications.
        Read through this
        https://docs.microsoft.com/en-us/sharepoint/administration/host-named-site-collection-architecture-and-deployment
        and this
        https://www.dmcinfo.com/latest-thinking/blog/id/9531/switching-to-host-named-site-collection-in-sharepoint
        Alternative to backup-spsite/delete web app/restore-spsite to host header web app is to remove DB and mount to host header web app, then use set-spsite to change the URLs of the site collections as described in the first link under Migrate path-based site collections to host-named site collections.

        Reply

  60. Hi! Is this still valid for SharePoint 2019?

    Reply

  61. Hi Stefan, I am running psconfigui on my sharepoint 2016 server which hosting the central administration after installing october 2021 CU patches. The configuration wizard running for more then 4 hours.. Should i wait or i should cancel it? I have 4 sharepoint server in my farm & this is first server i am running the wizard. Please help.

    Reply

  62. Hi Stefan , I’m trying to add new App server “in palce” of old corrupted one , with same name , after installing sharepoint , i ran the PSCONFIGUI , and then PSConfig ,, all return the same error at step 2 : “Cannot install the application content files because the configuration database does not exist. You must create or join to a configuration database before installing the application content files.”
    Any Idea ? I even couldn’t find any post with same msg !
    thanks in advance

    Reply

    1. Hi Tariq,
      I don’t understand the exact steps you used.
      The first thing to do would be to remove the server from the farm using the central admin.
      The install a new server with the same patch level and use the config wizard on this machine to join the machine to the farm.
      Cheers,
      Stefan

      Reply

  63. Hello, updated an application server with PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install
    had a weird warning during task 6/8 :
    “Performing configuration task 6 of 8
    Installing the application content files …
    Installing the SharePoint Central Administration Web Application content Files …
    SharePoint Web Application content files could not be propagated because no Web Applications could be detected ot they are off-line.
    Successfully installed the application content files.”
    i’m facing central admin [MissingWebPart] server-side dependencies issues, do you think that warning could be related to this issue.
    thx by advance

    Reply

    1. Hi Marco,

      I haven’t seen this issue but the message certainly sounds as if these two things can be related.
      If you need assistance with this I would recommend to open a ticket with Microsoft Support to get this analyzed in more detail.

      Cheers,
      Stefan

      Reply

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.