Fog Creek Software
Discussion Board

USB Pendrive as your hard drive

Wouldn't be cool if today's application would offer to install all relevant files and settings into one folder?

Imagine, in that case you could install your smaller applications to your pendrive, and at the same time put your data files there as well.

Then, when you need to travel, you just take your really small pendrive, stick it into any computer, and you will be able to use your favourite software?

What do you think?

name not available
Tuesday, November 4, 2003

would be cool! would also be cool if you could get your pen drive to make coffee for you and turn into a Thai massageuse when it detects you're stressed out.

Applications need to be regiustered in the registry. The registry is different for each machine.

Applications need to work differently according to which OS you are using.

And what about licensing? How do you activate your pen drive for office XP?

Stuff that runs on CD ROM could presumably be copied over to the pen drive, though whether there would be any performance gain I don't know.

However bear in mind the cost of storage. About 25 cents a megabyte at present.

One use of the pen drive is for keeping your Outlook. I've argued before for keeping Outlook always on the laptop HD to avoid having to synchrnonize, but keeping it on the pen drive is even easier, since plenty of people don't always carry the laptop to the office, but the pen drive can always be carried.

Stephen Jones
Tuesday, November 4, 2003

how about plug-n-play applications, self registering?  this special drive would be home to these types of apps, when a drive is detected the computer asks it to tell the applications to give roll call....

Tuesday, November 4, 2003

I do not really agree on your points:

Applications need to be regiustered in the registry. The registry is different for each machine.

Applications need to work differently according to which OS you are using.

And what about licensing? How do you activate your pen drive for office XP?

1. why is it mandatory to put this into the registry? i'm not sure that's always a good idea, more and more apps put their settings into a config file

2. apps need to work differently on different os, but the location of the executable doesn't count here, i guess. only if you have different files during setup.

3. licensing is quite easy. you always have one copy of your application, and this usually in-line with most of the licensing schemes

name not available
Tuesday, November 4, 2003

PocketPCs actually try to do this sort of thing right.

They "merge" the various versions of folders and registry on different devices into one coherent view.

Although I haven't had a chance to really test this yet.

Flamebait Sr.
Tuesday, November 4, 2003

Theoretically, you could probably adapt Knoppix or some sort fo similar linux cd bootable distro to an appropriate sized usb driver

Then, so long as the BIOS supports booting off USB (which more and more do these days due to the popularity of drive cases), bam, you have your environment

Dan G
Tuesday, November 4, 2003

Steven, the registry is just an artifact of Windows.  There's no theoretical reason that an OS couldn't be designed without one, or at least without the need for bulky installation scripts.  In fact, simple .Net applications can just be installed using XCopy deployment -- all of the information is stored in the manifest.

I believe that many years ago (with System 7), Mac applications could also be deployed just by dragging the application folder off the CD onto the hard drive.  I haven't used a Mac in years, though -- does this hold true with OS X, or is an installation script required?

Robert Jacobson
Tuesday, November 4, 2003

Correct, most OS X apps have no install script. You can copy them to USB key or CD and they will work correctly on any machine.

Rhys Keepence
Tuesday, November 4, 2003

The old Acorn Risc PC had feature along these lines.  The application *is* the folder.  With a special type of folder, double-clicking on it ran the application inside instead of opening the folder.  All of an app's resource files, config, docs, etc were stored as individual files inside its folder without the user being aware that any of these files existed.  You could copy or move an application by copying or moving the folder.  Good for developers too, as you could use standard file IO for loading all your resources instead of needing to use lots of different functions.

Tim Evans
Tuesday, November 4, 2003

I agree that the Windows registry is generally a fairly lousy place to store application settings.  It doesn't offer any advantages over storing them in a file or database specific to your application, yet it ties the reliability of your product to whether or not the registry becomes corrupted...

Tim Lara
Tuesday, November 4, 2003

Yeah, this is one of the things I love about Mac OS X. Just yesterday I needed to install some really old piece of software. Its installer was an OS 9 Application (and I am not using Classic), but I downloaded an updater that made the app OS X native. It didn't matter that I couldn't run the OS 9 installer app... I just copied the application itself to my hard drive, ran the OS X updater, and voila!
It definitely made me realize that this is one of those intangible qualities of Macintosh that is really nice ... you actually feel like *you* are in control of how your computer is set up, as opposed to the computer being in control of how you should work.

Standard Disclaimer: I mean all this in a Joel-esque UI-for-the-User-Model kinda-way, not an "M$-blows" kinda-way. I have Windows machines too and make my living with them and they are also wonderful in their own way, but for the past several years I have been in the habit of *not* installing any Windows programs unless absolutely necessary because I can never be quite sure of how they will affect my system. That being said, commence with the noise...

Jordan Lev
Tuesday, November 4, 2003

Is it not possible to partially do this now on a PC?

Could you install software on PC 1, telling the program to install in a folder in the PenDrive (instead of the typical Program Files directory). It would do its business, adding bits to the registry and DLLs to the System folder.

Once complete, place the PenDrive in PC 2, and install the software there also, telling it to install over itself on the PenDrive.

Now, both computers should be configured to run the app from the PenDrive when it is plugged in.

Would this work?

David Fischer
Tuesday, November 4, 2003

Check out EditPad.  This is a great little text editor, and one of the features is that you can store it on a floppy and bring it around, with your preferences.  You can even _burn it on a CD_, and it will work (it operates in a mode where it doesn't have to write anything).

So of course you could probably do the same thing with the USB pen drive.  All it requires is for the application developer to have a tiny bit of foresight.

Tuesday, November 4, 2003

Um, I do this all day long with a .NET application. It lives on my USB and I can pop it into any PC with the framework installed and just run it.

It works great and it is very cool.

Tuesday, November 4, 2003

I think some apps would need to adapt to the particular flavor of Windows, or what version of IE is installed, but most programs not only don't need to register them, they probably don't need an install script either.

Treepad ( ) doesn't require any install, and is small enough to fit on a floppy. For storing random notes, I use it all the time. I believe the only registry entries it creates are the location of the .exe to associate them with the treepad file, and the list if most recent files.
Tuesday, November 4, 2003

Ditto on my Mercury mail server - it's survived several reformats of my system hard drive.

One time the registry works is when data needs to be shared between applications (Windows service, web service and the controller, for example)


Tuesday, November 4, 2003

Several  people mentioned x-copy development

>>Um, I do this all day long with a .NET application. It lives on my USB and I can pop it into any PC with the framework installed and just run it.

It is good start! As mentioned, every single development platform I have used has had p-code, and some type of runtime. Now that that we got the clr, I think things are looking up! I am also of the belief these types of systems are more reliable.

Finally! Compile a program. Copy it to the target, and it just runs!. Oh, I long for those days...and it looks like they are going to return!

By the way, us folks who use ms-access as a major development tool in effect have had x-copy development for years (assuming one gets a good install of ms-access!). Any software updates, addition of new screens, reports etc only requites that a small mde file be copied to the end user.  Typical sized applications thus zip onto one floppy disk. A real nice advantage when it comes to software updates, and no installer is needed! (in fact, little, if any time is wasted on the install setup and process).

We long for the days of a simple .exe that can simply be copied to a pc and run. Gee, I think we just get this whole industry right back to the way it was!

Albert D. Kallal
Edmonton, Alberta Canada

Albert D. Kallal
Wednesday, November 5, 2003

>Finally! Compile a program. Copy it to the target, and
>it just runs!.
>We long for the days of a simple .exe that can simply
>be copied to a pc and run.

Finally?  Delphi has had that since Day 1.

Wednesday, November 5, 2003

Here's a thought I've been tossing round - probably will be my first .NET project, inspired by the "Tweak UI" utility.

You just store all your system settings that are portable - My Documents, Favourites, your Outlook files etc - on a USB drive which has a small application on it that runs when you plug it in (does autorun.inf work for USB devices?). What this does is backup the current computer's registry settings onto the USB stick and also on the computers HDD (in case of USB stick failure) and rewrite the appropriate registry strings to point to your USB stick. Call it "My Portable Computer" or something :-)

Of course you could add in extra widgets - e.g. other folders on your USB stick which it creates shortcuts to on the desktop. Have a program it loads into memory which checks for the presence of the USB stick, and if it's removed/ejected, then have it revert the settings etc.

Thoughts? Comments? Would this be useful to people? :-)

Christo Fogelberg
Wednesday, November 5, 2003

"Check out EditPad.  This is a great little text editor
(it [can] operates in a mode where it doesn't have to write anything)."


Wednesday, November 5, 2003

I think this whole concept of installing programs to your pen drive is a game of "how far can we bend or break a license agreement before someone yells at us?"

If you have a per-computer license, does it allow you to take the complete program with you to another computer since, technically, it isn't installed / cannot be used on the 1st computer anymore?

Storing files on a pen drive, as opposed to your hard drive, or creating an archive and/or sync'd copy of your files on a pen drive is trivial, it's a matter of thinking logically about where to store your files, and having a nice software tool to create a mirror image for you.

This strikes me as a better solution as a pen drive could easily be lost, damaged, etc. Also, be sure not to store sensitive documents on your pen drive as your enemies may pick it up or pickpocket you and steal your plans for an alternative fuel cell automobile, merger, acquisition, world domination, etc.

A friend of mine had a program that would monitor any software install and create a version of the program that could run from anywhere - it would copy all the necessary files and registry information to the folder, and by copying that folder you could run the program from any computer... Yes it would re-register itself it if had to and copy a few files to some Windows directories, so technically it did install itself, but by and large, it ran from that folder.

One step below this is keeping the install files you need on the pen drive.

Just be sure you're not breaking any license agreements when you do this.
Wednesday, November 5, 2003

Even advanced Music software such as has drag and drop install on Windows (and no, it is not a >NET app).

Wednesday, November 5, 2003

Symbian apps can be installed on removable media; apps on a memory stick or whatever merge with the menu of apps installed on the internal disk; the user doesn't really need to know the difference

i like i
Wednesday, November 5, 2003

On a Windows box, for most software, there are two major obstacles to having an app living in a single directory.  The first, as discussed, is the registry.  Don't store your settings in the registry, and you have no problems.  The second is with DLLs, which folks generally try to install somewhere like <system drive>\windows\system32.  Store your DLLs in your application's directory, and again, no problem.

There *are* folks out there creating stand-alone applications.  A perfect example is Mozilla and its derivatives.  Go grab Firebird (hell, Joel wants you to) at and you'll get not an installer, but a zip file.  Open the archive, run the app.  Simple as that.

Wednesday, November 5, 2003

Mark - those types of licensing issues presume a "seat" license, which requires a copy per machine. It may be going out of style, but I still prefer the "book" or "user" license, which says you can treat the software like a book - install it anywhere you need it, so long as only one person can use it at a time.

USB drives actually facilitate the latter style license.


Wednesday, November 5, 2003

Hey guys, Take a look on tucows, there a lots of nice guy developer types who have posted their single.exe files as freeware - all of this can be used from a pen drive:)

Daniel Chan
Saturday, February 21, 2004

*  Recent Topics

*  Fog Creek Home