Has anyone applied ArcGIS Enterprise 10.6 (Server/Portal) patches by script (batchfile)?

1047
4
10-30-2019 01:44 PM
Arne_Gelfert
Occasional Contributor III

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:

\ArcGIS\Server\tools\patchnotification\patchnotification.exe

 If you then try...

\ArcGIS\DataStore\tools\patchnotification\patchnotification.exe

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

4 Replies
FC_Basson
MVP Regular Contributor

You can try running it as a batch (*.bat) file with task scheduler.  Read the following blog: 

HowTo: Schedule Automatic Updates for ArcGIS Enterprise 

My batch file command line looks like this:

All updates:

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‍
0 Kudos
Arne_Gelfert
Occasional Contributor III

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

0 Kudos
ChristopherPawlyszyn
Esri Contributor

Hey Arne,

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.


-- Chris Pawlyszyn
0 Kudos
Arne_Gelfert
Occasional Contributor III

Christopher, thanks - that worked. I'm no CMD guru. Wondering if replacing "/qn" with "/quiet" is all that was needed. Anyway, thanks for chiming in.