Before I express my idea, I want to Say that I Apologize if this is in the wrong place.
And Also I don't know if anyone has expressed this Idea at all. If so, I apologize as well.
I am a Portable Apps Freak. I want nearly everything I use to be Portable.
I am running At the moment, 2 Skypes', Foobar2000, Pidgin, Firefox, and Thunderbird, portably.
Anyway, I am going to express this idea as if everyone is an Xp or 2000 User.
Changes can be made to make this work on vista.
A portable App That makes Other portable apps Portable.
Most programs Store their Data at the address:
C:\Documents and Settings\%username%\Application Data\
or C:\Documents and Settings\%username%\Local Settings\Application Data\
The address can be Different for others. Mine is
C:\Profiles\Xylex\Local Settings\Application Data\
ect
My idea is to have an app Intercept this information and Move it to the Program's Portable app folder.
I see it as reasonable logical or no reason why it wouldn't work.
It could also be a way to make things portable without having to make Each and everything a portable app.
Yeah, but what about registry keys?
Sometimes it is is more complex then that. We wish we could write a magic program to do that, but nobodies managed to do that yet.
Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world
There are many MANY Programs out there that may write registry seetings, but dont need them to operate, thats why it would be good to have said tool and a Thread based on weather or not the tool works and how well it works.
I can list MANY programs that write registry settings that don't actually need them to work. As well as MANY programs that dont write Registry settings at all.
at least, not by this site's definition.
For example, if they write their settings to the registry, then even if they can create a default set on a new host, it would mean that your settings wouldn't follow you around, which is the entire point of portability for many of the people here.
Also, at best, you are messing up the registry of the computer that you are using, and that is very impolite. At worst, you could run a "portable" copy of an app that was already installed, and either change the dettings of the computer's owner, or worse, in some circumstances, if the versions were different, you could even break the installed application.
You're describing a program that "hooks" into the other program to redirect registry and filesystem activity. This is possible, but tricky. MojoPac can do it to a certain extent, and of course Thinapp and Xenocode rely on that technique, so we know it can be done. The question is, where do we find someone with the expertise who has time to do it in an Open Source way. Are you volunteering to learn how to do it?
MC
I am very much volunteering to learn how to do it.
I made exactly what im talking about using a Batch script. It works well.
Though I must say that I am not meaning for it to intercept the registry.
Though it would be a plus.
Keep in mind that most programs only make their required Registry keys during their install and wont write anything major if they are launched on a machine they wenrt installed on. Unless we talked about MS Office or something, cause MS office is pushing it as a portable, it just wont happen.
Sorry my friend but you are wrong there. Those keys serve a purpose. A lot of the time certain settings are stored their so if they aren't there the app will simply make new ones.
Release Team Member
If you are talking about watching the APPDATA directory and copying stuff from there to the Portable drive after the program finishes, that is exactly what the Launcher here does, for specific programs. It's not exactly generic; it assumes that other programs might be writing to other places in the APPDATA area, and you don't necessarily want to copy all their changes to the Portable drive. So it tries to figure out which places in the APPDATA area it needs to watch for each Portable App it is running.
In other words, you could read the "Guerrilla Guide" at https://portableapps.com/node/14868 to get started with your learning.
The ideal is to make sure the program doesn't write to APPDATA at all, but to the Portable Drive's data folder. Sometimes it is easy -- the program includes a way to tell it where to put its data. But most of the time, the program thinks there is only one place to put stuff, and that is APPDATA. So to permanently solve the problem in a generic way, we need a generic way to redirect both APPDATA and Registry so the program thinks it is writing to the APPDATA or Registry, but the information ends up in a file on the Portable Drive.
After you become familiar with C or C++ programming, look up "hook" or "inject" to become familiar with how it is done.
MC