You are here

Is U3 really a portable environment?

7 posts / 0 new
Last post
Guillermo
Offline
Last seen: 18 years 1 month ago
Joined: 2006-09-28 09:37
Is U3 really a portable environment?

Hi all,

I’m kinda new to the whole portable application world… I’d heard about U3 for a while before actually looking into it, with the whole personal workspace idea sounding pretty cool, but it was only after I purchased my U3 drive a couple of months ago, that I actually understood the real potential in this area. The ability to take all my data and files with me, and use it anyplace anytime, is just what I needed.

Being a gadget freak and part-time programmer, I spend a lot of time checking out new applications, buying new hardware, and often taking both apart to little pieces. So, I naturally came around to investigating how my U3 Smart Drive actually functions, and while I’m pretty happy with how U3 is easy and useful, I now find there’s a lot about their technology that just plain doesn’t make sense.

I recently read in one of the other forums about a new companion program for U3 called PackageFactory (www.eure.ca), which supposedly has the potential to enables a user to install any software on their U3 drive. Now, there have been a few programs I’ve been dying to make portable but weren’t offered by U3, so I went and downloaded this application to see if I could add regular programs on my U3 drive. It actually worked fine except for a minor problem – the program cannot convert exe files to U3-ready files if they have no icon.

I then proceeded to check the application a little more thoroughly. I checked for any traces it might be leaving in the registry, and was surprised to find that after packaging an application using PackageFactory and running it on my U3 drive, all the application’s registry keys were written to the local registry and are left on the host PC! When I eject my U3 drive, the values remain in the registry!

I thought maybe this was a very small glitch, and I wanted to be sure, so I went on to test a bunch of applications, and found that they ALL left their traces on the host PC. Later I even wrote a tiny app which does nothing except write and retrieve values to and from the windows registry (I’ve attached it to this post, if you want to play with it yourself). This tool writes any value you type into it to HKEY_LOCAL_MACHINE\SOFTWARE\RegTester, and then enables you to retrieve or delete the key from that location.

After I converted this app to the U3 format using PF, and ran it through my U3 drive, I used it to add a value to the registry, and then removed the U3 device from my PC. The value remained in the registry! Then, when I connected U3 to a different PC, the value did not migrate to the new host’s registry.

I understand that PF is trying to make adding applications to U3 more easy. But it also seems like PackageFactory is nothing more than a compression tool for taking regular files and packaging them to “U3 Friendly” format. It doesn’t actually make the application portable…

This tool may be very useful as an installer for programmers who want to make their programs U3-aware, but quite useless for normal users. There is no way to use this tool to allow running regular applications from the U3 drive on more than one PC (unless of-course they were originally U3 certified).

So what’s so portable about U3? If the applications already have to be portable what do I need U3 for? I don’t get it.

Any thoughts?

Here is the address for the application I created:
http://www.box.net/public/if9iteri1k

Guillermo

John T. Haller
John T. Haller's picture
Offline
Last seen: 4 hours 9 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
No virtualization

I think what you're looking for is virtualization. Neither U3 nor package factory provide any sort of virtualization or portable environment along those lines.

Package Factory is just a packager, it doesn't actually make an application portable. Anything written to the local registry or Documents and Settings is still written there. All it does is package things up in a U3P for you. (U3P is just a ZIP file with specific directories and a manifest file that has details on the app)

Take Thunderbird, for instance. Normally, it stores its profile (email, account settings, etc) within C:\Documents and Settings\[username]\Application Data\Thunderbird. And, normally, certain settings (like whether it should check if its your default mail client and how many unread emails you have) are stored in the registry. To make Thunderbird Portable (the portable version of Thunderbird that runs from any drive) I had to redirect the profile to the portable device (via a commandline switch) and backup and restore the registry setting programmatically on launch and exit. This is what makes Thunderbird Portable "portable".

If you took regular Thunderbird and just packaged it up in a U3P (with or without Package Factory), it would still store all your email, etc on the C:\ drive and keep additional settings in the registry. To make Thunderbird for U3, I basically had to adapt Thunderbird Portable to work within U3. The way it keeps its profile and registry stuff on the portable device is the exact same custom code I wrote for Thunderbird Portable.

So, essentially, there is no magic bullet for portability. Portable apps (that run from any drive, like the ones here) need to be adapted to be portable (and all the apps published by PortableApps.com leave nothing behind). U3 apps need to be adapted basically the same way ("U3 Certified" apps aren't supposed to leave anything behind either, though some do). There are some platforms that are *supposed* to make non-portable apps portable, but none of them work as advertised. Ceedo has a function (US$60 for Ceedo Personal + InstallAnywhere add-on) that's supposed to allow you to run any software but it's very hit and miss and only works with certain software. Mojopac (US$50 once the beta is over) is supposed to eventually let you install any software but is also hit and miss... and it won't work on typical PCs in a corporate office, university or net cafes (it requires admin rights).

Sometimes, the impossible can become possible, if you're awesome!

Simeon
Simeon's picture
Offline
Last seen: 10 years 1 month ago
DeveloperTranslator
Joined: 2006-09-25 15:15
settings in the local registry?

To John:
In the post above you said something about settings being written to the local registry. Are these settings being deleted after closing TB portable?? And if there is a copy of Thunderbird installed on the PC, don't they interfere with each other?? Or do you store the "TB-portable-settings" in a differenr place?
These question just occurred to me while reading the post.

It would be great if someone could answer this.

"What about Love?" - "Overrated. Biochemically no different than eating large quantities of chocolate." - Al Pacino in The Devils Advocate

John T. Haller
John T. Haller's picture
Offline
Last seen: 4 hours 9 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Yes and Yes

All the apps here that do registry stuff do the following:

1. Backup the local app's registry settings
2. Restore the portable app's registry settings from the portable device
3. Run the portable app

Once the portable app exits (or even if it crashes):

1. Backup the portable app's registry settings to the portable device
2. Restore the local app's registry settings

Sometimes, the impossible can become possible, if you're awesome!

Simeon
Simeon's picture
Offline
Last seen: 10 years 1 month ago
DeveloperTranslator
Joined: 2006-09-25 15:15
Thanx for the quick answer!!

I consider creating portable stuff myself so I just wanted to know more about the registry stuff. Any Tutorials availabe?

"What about Love?" - "Overrated. Biochemically no different than eating large quantities of chocolate." - Al Pacino in The Devils Advocate

hello5959us
Offline
Last seen: 15 years 7 months ago
Joined: 2006-05-28 14:55
Portable Application Template

You can use the Portable Application Template to make applications do the same thing and with the same directory structure.

TheBrain0110
Offline
Last seen: 18 years 1 month ago
Joined: 2006-10-21 13:45
Actaully, I think the point

Actaully, I think the point he was really trying to make was at the very end of his post:

"So what’s so portable about U3? If the applications already have to be portable what do I need U3 for? I don’t get it."

You said yourself, to make Thunderbird for U3, you just made some adaptations to Thunderbird Portable.

So the question still stands, but perhaps reworded:
"Is U3 really a portable environment?" can be said as "What makes U3 different from your existing PortableApps?" What exactly is involved from taking a PortableApp and making it U3?

For example, I want to use the latest Firefox2 RC on my U3 drive. Can I just package your Firefox Portable as a u3p? Or should I wait for you to do... whatever it is that needs doing? And what is that?

Topic locked