So I wanted to apply a number of patches to ArcGIS Server and Portal machines but apparently there is a BUG in the "ArcGIS Enterprise Updates" tool for 10.6.1 that's included. If you click "Install All Patches", it will do so for one, and then shut down.
If you try the first proposed workaround,
"If there are multiple ArcGIS Enterprise components installed on the same machine, use the Patch Notification Tool with one of the other components."
you find it doesn't work. While I have to shortcuts - in my case, one for Server, one for DataStore -
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ArcGIS\ArcGIS Server 10.6.1
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ArcGIS\ArcGIS Data Store 10.6.1
…they both point back to the same tool:
If you then try...
... and use it to run ArcGIS Server patches, it errors out for each Patch.
If you try the other ESRI work-around and download and install each patch individually which is an arduous task, you end up with all the patch MSP's in ..\appdata\local\temp. I was hoping to be able to use those downloads and automate patching of the next machine. But I can't figure out how to do that using Window CMD and a batch file.
I've tried various permutations of things like:
msiexec.exe /i <path_to_msp> /qn /l*v "<path_to_logfile>"
But that didn't work. Using only the syntax ESRI suggests here:
msiexec.exe /p <path_to_msp>
doesn't seem to run silently, and expects some UI interaction.
Ultimately, I had hoped to use Python/subprocess and iterate over the MSP files and install them with msiexec. So if you've figured out how to make this kind of thing work, please holler. I see a lot of automation for patching for ArcMap or Pro, anyone tried it with Enterprise components?
You can try running it as a batch (*.bat) file with task scheduler. Read the following blog:
My batch file command line looks like this:
start "" /d "C:\Program Files\ArcGIS\Server\tools\patchnotification\" "patchnotification.bat" -c -i all
Only security updates:
start "" /d "C:\Program Files\ArcGIS\Server\tools\patchnotification\" "patchnotification.bat" -c -i sec
FC, thanks for the comment. I had a BAT file that works. It was the actual command for msiexec that wasn't working. Chris (other comment below) helped me with this.
Appreciate you chiming in though. 🙂
I successfully ran an ArcGIS Server patch silently with logging enabled using the following syntax:
msiexec.exe /p <Path to MSP file>\ArcGIS-<Version>-<Patch Name>.msp /quiet /l*v <Path to Log File>
Hope that helps, I tried it on 10.7.1 but the same logic should apply to any of our patches.