Fx. in Sandboxie when a folder is forced sandboxing, and an application in the folder is run then all its saves to documents folder or registry is virtualized. So why can´t portableApps catch those calls and place them automatically in data folder, why must they be specified in launcher.ini?
Virtualization has several downsides including:
1. Virtualization requiring a system driver (as Sandboxie does) will simply not work on most PCs unless you own them and are running as admin
2. Virtualized apps can't interact with each other, which is sometimes desired
3. Virtualization adds significant overhead to each app (over 13MB of RAM compared to under 3MB for the PA.c Launcher)
4. Sandboxie is a closed source paid product and they'd be unlikely to want to give us their code so we can make it freely available for everyone. There are no open source equivalents to Sandboxie.
5. Partial virtualization, as in Sandboxie, interferes with proper environment passing. That's why many of our apps won't work right within Sandboxie (won't start in proper portable mode, don't close properly, etc).
Sometimes, the impossible can become possible, if you're awesome!
Thanks for the reply!
4) Sandboxie is supposed to hook into windows API fx. (http://research.microsoft.com/en-us/projects/detours/ or http://www.nektra.com/products/deviare-api-hook-windows/ or http://easyhook.codeplex.com/ or http://madshi.net/madCodeHookDescription.htm)
Fx. Try http://www.nektra.com/products/spystudio-api-monitor/ to see hooking an app to trace files and registry use (might be surprised...)
Windows has a list of dll´s that launch with apps fx graphics drivers, and they show up as part of the app´s children, so Sandboxie is not able to distinguish, it just virtualizes their data too, which can be found in the sandbox under "drives" folder.
Other software like regshot and thinapp etc take snapshots to compare changes to find files and entries involved and that is even less precise.
The optimal would probably be if windows had to kinds of shortcuts - one for normal execution and another for "launch this app as a portable isolated"