Generally speaking, once you deploy the client, subsequent patches for that verison (eg 11.1.100) will be installed into that directory and all is good. New versions (eg 11.1.200) will require a new distribution, and cleanup of the previous version. Now, there is a way to set the install directory to something like C:\Epicor11Client, and using some well timed changes to the sysconfig file (during the upgrade) to get new versions to install over previous versions and keep everything in one directory. There are variations on this theme as well discussed elsewhere on this site - but let’s just say it’s all very specific to what you want/need to do and how much work you can put into it.
An endpoint software mgmt tool gives you a leg up on some of us and would certainly make this all easier.
We choose to build an MSI from an installed client during the testing phase (with an appropriately altered sysconfig file that points at the production appserver) and distribute that ahead of time. This means we have two versions of the client for a a few weeks, and a fallback position if the upgrade goes south. We are on VMs so snapshots allow me to do the upgrade and if it has problems, I can go backwards in a few minutes and without having to reinstall the previous client on the endpoints. If we didn’t distribute the client ahead of time, on the morning of the upgrade every client would need to ‘upgrade’ pulling a few GB from the servers and we’d rather deal with installation issues way before upgrade day.
There are many things to consider when deploying the client, so I will reiterate @Mark_Wonsil’s comment and suggest you consider your implementation, customization level, etc. and determine if it’s worth it. If you are minimally customized and can adopt the browser based Kinetic interface sooner rather than later, you might be able to make the jump later this year.