Simple. You set up your development machine like this:
MyProject\AdvancedHMI
then you commit your project to your source code control system. Now anyone can pull that code from the repo, build, and they will get the same output files on any machine and can deploy to the target machine in the same manner. Need to make a change? Pull from repo, build new exe and xcopy to target.
I know it is common to have your complete build environment on the target machine but this may not always be feasible, possible, etc. I work in the highly regulated medical device industry and if you had the build tools and source codes on your target machine, where anyone could walk up and make changes to a validated piece of production equipment, that could get you shut down.
Same thing if the target machine dies, you need to have documentation on how to reproduce the system.