Portable app will getting more interesting with this available open source tool: a registry emulation
The fabled ThinApp (formerly Thinstall) is an application level virtualizer for windows that handle both filesystem and registry redirection. Each have true virtualization, one of the simplest thing of filesystem redirection is by altering some common environment variable like %USERPROFILE% %PROGRAMFILES% and so on at user session level. But this method is nowhere near what Thinstall do. Say, what if the program call for hardcoded path?
Few years ago I've looking for OSS alternative for Thinstall, if I recall there was one, a research product (I think) which come as source code only, too bad I forgot its name.. but seems to be discontinued or become commercial software (dunno).
Now let's leave that one alone because OSS generally more simple and timid when it come to Windows (no COM, no ActiveX although now there are some). Now about registry... Like it or not no matter how clean and standalone an application is, it will indirectly ask for many information from registry via windows so it's good to emulate it.
And this app "WinAPIOverride32" http://jacquelin.potier.free.fr/winapioverride32/ don't let the name fool you (me too) for thinking "oh an open source alternative of procmon" but wait till I unpack the zip file, a registry emulator being bundled! (Umm.. well registry emulation is basically overriding one of Windows API) While still in beta (source code available) the documentation is minimum but clear enough and there is video too http://jacquelin.potier.free.fr/winapioverride32/videos/registryemulation.htm
For large OSS app like OpenOffice, this tool could be a lifesaver (no compromised functionality). I'm still playing with it tonight :) will see how far it can go, for my first try I want to emulate userlevel fonts availability by emulate HKLM\Microsoft\Windows NT\CurrentVersion\Fonts a.k.a adding fonts without admin rights and put it in user accessible location.
Check it out dudes! oh caveat that I don't feel: it's currently a 32bit only