You shouldn't be doing that unless you have a damn good reason to do so. Changing the TARGETDIR at the wrong time during an installation can break your app installation AND make it impossible to uninstall.
You have to keep more than a few things in mind when doing this. You can't just assume your installer wil ever be used to do just an install. There are also Admin installations, Maintenance (Repair) installs, and Uninstalls. Changing the TARGETDIR for an Install doesn't necessarily mean that the same method you use for changing the TARGETDIR during install is going to get executed during the other uses for your installer.
If you really are going to process to do this, DO NOT DO IT using the Setup project in Visual Studio. Use a professional installation package builder project, like InstallShield.
Oh! And another thing. You also have to consider the possibility that your app is being installed/maintained/uninstalled on a 64-bit machine where the Program Files folder can have a different name depending on the bitness of your installer/app.