Moving applications
Indeed there are plenty of packages designed to do this job. Few can do a perfect job, but most work fairly well. PC Magazine issued a free one some time ago, and you may be able to track it dowm. It was called Change of Address, and came as COA32.ZIP which might turn up in a web search.
The principle is that you manually copy the application to another partition/drive, then coa32 searches your registry and .ini files for the old address, changing it to the new. It works quite well. What is not always simple is that sometimes packages save their address as a 'long name' and sometimes as a 'short name' (i.e. a DOS formatted 8-character version). Sometimes both at once. Other people - Norton and Microsoft are notorious for this - scatter their packages all over the place, in so-called shared directories, in C:/system and /system32, and replacing other people's versions of the same utility DLL's. Getting all this gathered together can be a nightmare, which is why these packages have limited success.
You will generally do best to uninstall a package then re-install it somewhere else. Then of course you need to re-apply any personalisation, vendor patches etc etc.
Then finally, if you need to rebuild your OS, you STILL have trouble getting the registry back as it was - backup or not.
The simple answer is - dont bother. Aquire and USE a damned good backup package instead.