I have a quick question for the devs regarding environment variables. Is it in bad form to have %APPDATA% redirect to somewhere to eliminate the need for file and directory moves? I only ask because it seems easier to redefine environment variables like APPDATA, LOCALAPPDATA, and USERPROFILE and not have to worry about moving large amounts of files.
It depends. APPDATA redirects don't always work for one. And the environment is passed from one process to another.
So, we have a game that we use an APPDATA redirect on, but it calls nothing externally at all. But, if that same game had a link to their website in the About window, it could spawn a local browser thinking APPDATA was on your flash drive instead of the local PC and create a ton of files. Or possibly not even launch. So, it gets messy very quickly.
Sometimes, the impossible can become possible, if you're awesome!
I never really thought about it that way. I ask because there are a couple of programs I want to try to make portable that store a LOT of data in APPDATA and have no command line switches to move it elsewhere.
you have to learn NSIS and write your own launcher, but i use Junctions.nsh.
I only use it for extreme cases, where the size of the folder is detrimental to the speed of the app.