Michael Wojcik wrote:
[This is a rather late followup - I'm catching up on personal email - but may still be of interest.]

Stephen Harris wrote:

Regarding the C:\Aspell limitation to portability, perhaps the
dos subst or label command would serve as a workaround. Suppose
your USB drive was "J", then

label J: C:

I think would change J:\Aspell into C:\Aspell

Er, no. The label command writes the "volume label", a special filesystem entry that serves as a "label" for a disk. It has nothing to do with path substitutions.

The converse of the subst command was the join command, in MS-DOS. It's not present in the 9x or NT Windows families.

if not perhaps the subst command would suffice called from J:

Subst creates a virtual drive that's mapped to a path on an existing filesystem. It won't help in this case, where we want a virtual path (c:\aspell) created that's mapped to an existing path.

join would, in theory, do the job, if it were still included with the OS, and if you had aspell installed in the root of the destination drive. (It would have to be the root, because join did not let you map an arbitrary destination path, just a destination drive.)

What you need, in NT-family Windows, is a reparse point at c:\aspell which redirects to your aspell installation. The base OS includes the mountvol command, which will create a reparse point, but like join (or classic Unix mount, ignoring goofy newcomers like the loopback filesystem) it only lets you associate an entire volume (and not some path on that volume) with the destination.

On the other hand, the Windows 2000 Resource Kit (which I think is a free download from Microsoft these days) includes the spiffy linkd command, which will create reparse-point mounts from any source path to any destination path. With it you can do, for example:

    linkd c:\aspell j:\aspell

Note, though, that this requires that c:\aspell not already exist, and that you have appropriate permissions for c:\. It appears to require only the "Create Folders" authority, but if you're logged in as J Random User on a typical XP box, I suspect you won't have that authority for c:\. And that, of course, is as it should be; ordinary users shouldn't be able to create directories, real or virtual, in the root of the boot drive (assuming c: is the boot drive).


I didn't snip any of your post because I thought it was
interesting and well thought out. I had already reached
the same conclusion about subst that you did and recanted
the idea in another post. I had another idea.

Winzip the C:\Aspell directory. Put it on the J: device.
I am assuming that this is a USB drive that plugs into
the back of a non-admin computer at another location.

Copy the C:\Aspell zip file from the J: device over to
the C: drive, C:\> md Aspell ; and unzip the contents
into C:\Aspell. I don't think that takes admin rights.
I have a non-admin username to test such things and
makedir works for him.

http://www.petri.co.il/download_free_reskit_tools.htm
 LINKD: This command-line tool links an NTFS directory
to a target object.

So my nonadmin user was able to use linkd and it does
not appear that linkd requires admin rights like some
of the dos commands. This worked on XP pro, I am not
sure about XP home. Your idea appears cleaner/easier.

Regards,
Stephen




Reply via email to