PMFJI, but..
I've been using a technique for years now where the launcher looks at the executable version on the network and compares it with a version in the users TEMP folder. If the version in the temp folder is different than the one on the network, the network version is copied into TEMP and launched from there. Updating to a new version is a matter of dropping the new executable on the network - the next time the user starts the app, the new version snaps in place. Side benefit - running a large executable from a local drive launches much quicker than starting from the network drive.
Right or wrong, that's the way I handle it.
Enjoy
~Erik Folley