Hi,
hm, first i want to comment it's not very user friendly that users had to browse after the install path.
If users update the game, I assume they've started non-updated game once before, so you could use
string fullPath = System.Reflection.Assembly.GetAssembly(typeof("Someofyourassemblyname")).Location;
and save that path in one of your .inf file or something.
For the case someone installed your game and runs the update immediately after installation, you've to sure it's started before updated once, but I think that's ok for users, worst case is to write some HelperProgram which executes after installation.
Be also careful with trying to delete and copy files to the ProgramFiles-Dir (both Program Files and Program Files(x86)) because of read-only permission.
For the case your software grows n' grows you will come to a point where it will be wasteful to write an own updater.
There are some open source automatic updater available, like:
http://autoupdater.codeplex.com/[
^]
Create Setup with i.e (or with visual studio setup project, but not available with express edition)
http://www.jrsoftware.org/isinfo.php[
^]
Updated: It's able to read the target directory from game link lnk, maybe this works for you. Is something registred in Windows Registry? Maybe another way to reach your goal ;)
Regards