To make portable a preexisting application is not so easy, this small tutorial wants to be a brief introduction to get a sense a little more clear about it.
Beginning
To begin you must bear in mind that often applications are only available in the form of installation files (Setup.exe). In these cases it is necessary to use special programs that are able to extract the files from the installer, without needing to run them. One of the most valid tools that come to us in aid is Universal Extractor (included in Lupo PenSuite). This software allows you to "jump" the procedure for installing a program, extracting its files as with a normal compressed archive. Sometimes however this procedure doesn't work, therefore you can try to install the program normally, make a copy of installed files and then uninstall the original one.
Setting files
Now, before starting the program, is necessary keep in mind than almost always applications save setting files in specific system folders (eg "Application Data") and are therefore not portable. To make checks you can use monitoring application tools as FileMon. In some cases copying these setting files in the application folder, the next time you start are recognized and used (in this way are no longer stored outside and the application results portable). To remedy this problem some programmers have created launcher that save data in a program subfolder. One of the first projects of this type was PortableApps.
Registry keys
You also need to know that applications almost always save some registry keys. For this reason the natively portable programs are very little. To discover if a program modifies or not the system registry exist monitoring applications as RegMon and Regshot (included in Lupo PenSuite). This is a more complex problem to resolve, often the easiest thing to do is to try to contact the author and to propose the development of a portable version of his application. In alternative some programmers are working to complete launcher, capable of saving in a subfolder of the program also their registry keys. Examples of this type are the x-launcher, on WinPenPack, or the launcher of PortableApps.
File compression
Finally note that with programs like ArcThemALL! (included in Lupo PenSuite) or UPX Tool+ you can compress individual files that compose an application, keeping it running (it saves space on the USB flash drive). Note only that sometimes files with this kind of compression are detected as dangerous by antivirus even if they are clean.
Conclusion
As you can see it is not easy to create portable applications, but approaching to these projects is the best way in order to know the argument and to try in person to realize something.