Recently when applying SharePoint patches (SharePoint 2016 – Dec 2020 Patches) and attempting to run the Products and Configuration wizard (GUI), it failed with the following error:
Failed to provision the SharePoint Central Administration Web Application.
This is a critical task. You have to fix the failures before you can continue.
An exception of type System.ArgumentException was thrown. Additional exception information: The IncomingUrl is already present in the collection in a different zone. A url may only map to one zone at a time. Use a different url for requests from this zone.
The Problem
I was confused and still don’t know what originally caused it. I recently did a database restore but it was not a central admin database, it was for a different web application. When I was running through the GUI the second time, I noticed the Central admin URL was wrong.
Central Admin URL shows as: http://servername:443/
We have a hostheader set for central admin using port 443 (https) but it was not showing. I checked IIS and the binding was missing (what?!). I have no idea how that happened. I added it back in and Central Admin worked for a bit so I could check the alternate access mappings. It was correct. I tried to run the GUI PSConfig again and it was still mismatched with the wrong URL and failed with the same error.
Next, I tried to run PSCONFIG.exe via powershell using:
PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures
It successfully completed but when I tried running central admin, it didn’t work. I got a 404 error. I checked the GUI again and it was showing the wrong URL again for central admin.
The Fix
What I decided to do was to run the GUI and remove central admin from this server (it’s the only server that was running central admin). It completed successfully but of course, I had no way to load central admin. I ran it again through the GUI and added central admin back using the hostheader. This fixed it. Yay! Central admin is working perfectly and PSCONFIG (GUI) completes successfully. I hope this saves someone some time. 🙂