Whenever it is possible I prefer to use "portable" versions of applications instead of installing them ordinary way. I put them on drive
D: and they store all the data inside their directories and don't rely on system registry/directories. As the result I get the most of applications I use safe in case of the system failure/reinstallation: no need to reinstall and reconfigure the apps, no need to restore data.
But there is a problem when using this approach in Windows 7: many portable applications (at least those of portableapps.com) consist of a launcher .exe file separate from the application .exe itself and these 2 are separate applications from the system point of view. As the result a second icon emerges on the taskbar if I use a pinned launcher button to launch (and if I pin that second button then it just launches the application in non-portable mode).
The same problem applies to any application which uses a separate loader to start to separate start-up-time and run-time code.
So the question is how to teach a Windows 7 taskbar to recognize a sub-launched process as the same application and put it into the same button.