Desktop application auto-update?

We’re looking at gitlab, and there’s a scenario I don’t see how to do: actively upgrade/downgrade internal Windows machines when changes to their applications are deployed or rolled back. Not just make them available for install, but actually shut down the application if it is currently executing and install the now-current version of the application.

I don’t think we need to start the newly installed version, but I expect we will need to run the application installer in batch mode.

Seems like this should have come up, but a search wasn’t revealing. Is there some way to do it?