I'm not new to portable apps and have been using them for the past six years.
I usually take a separate back-up of my data at work just for my own piece of mind. To do this I use Synkron portable. It's nice and convenient. I assumed that most portable apps install 'something' to the host machine when they are opened, but then 'clean their trail' when they exit.
I was a bit surprised when I happened to be looking around my work machine one day and noticed five or six logs created by Synkron. I was a bit concerned that these were there at all. I would have thought that Synkron would have cleared up on exit? I then wondered if a portable app had to be aborted because it hung, would there still be traces left on the host machine?
Yesterday I loaded up Regshot to monitor what happened when Portable Firefox was loaded, I could see it create a few HKEY entries - but then delete these on exit. There were a number of non-registry files that were created / then deleted as well.
OK, I've explained the premise of my question, which is, is this the way portable apps work? Put something to the host and then clear it up on exit? But if the portable app crashes, there could be something left behind on the host?
I like the 'self-contained' aspect of portable apps, but really want to be sure of what could / is left behind when I close the app. This is a general inquiry, hence the post to the general forum.
Cheers, GrahamG
If you've noticed some apps leaving things like logs or other files/keys behind, report them because that's not supposed to happen.
Edit: I don't work on the launcher so I'm not 100 percent certain, but I believe for when apps crash a log is saved so if you start the app again on the same computer it should clean up what was left behind.
If it is the base app that dies (eg. firefox.exe), the launcher will still clean up properly as all it looks for is the exiting of the app's executable.
If however it is the portable executable (FirefoxPortable.exe) that dies without having had a chance to clean up (usually as a result of Windows being shutdown without the app being properly closed, or another shutdown or eject utility killing the portable executable) then obviously clean up can't be performed, but on next launch the portable exe does know that it died without performing its proper functionality, and will clean up as it should have previously.
I just tested a few portable apps with RegShot.
took a shot before running the app and one after I closed the app.
they all added values to the registry, delete a few and modified a few.
is this suppose to happen? am I missing something?
There can be tons of settings, large files, etc. that the launcher has to move or delete before it closes, and it can take several seconds for that to happen (usually less then 5, some larger ones take upwards of 30 seconds). Check out the open processes to be sure *Portable.exe is closed before running a regshot. Some files and registry entries are automatically generated by Windows, and are not handled by the launcher (such as prefetch files and MUI cache) by design. If you see something you think shouldn't be there, though, that was generated by the base app itself, it might be a bug with the portable app launcher (in which case you could post a bug report in the support forums).
I have no idea if any of those registry modifications should be there or should not...
I actually have no way to ensure that the questioned apps are actually portable...
Visit http://pastebin.com/ and copy and paste your regshot and share it with use to take a look at it.
Things that run on Windows leave traces. PortableApps are designed to not leave sensitive data behind and to not screw up a machine's normal user configuration when exited.
If you're concerned that the owner of a machine will object to you using it with PortableApps the best, safest, approach is to not use PortableApps on the machine.
Ed