I use a .properties file to hold things like "where the app is installed by the user". I use the (free) InnoSetup installer program, and after installation, it runs a little program that modifies that .properties file to record the directory where it was installed.
Granted, this doesn't help if the user moves the application after install, but I document that properties file. I figure that if they're advanced enough to be mucking about moving things after install, they advanced enough to change that little file. It's not foolproof, but (truthfully) my mother can manage to use it, so...

Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.