Slashdot Mirror


Vista's Limited Symlinks

An anonymous reader writes, "Symlinks haven't really been added to Windows Vista. It seems that the calls to the Windows Vista symlink API only occur during the creation of such files or when accessing them from Windows Explorer. What this means is, you can't access symlinks from another OS. To be fair, you probably didn't expect to be able to dual-boot into XP and suddenly have access to the symlinks you created on the Vista partition earlier that day. But then again, you probably expected to be able to access these symlinks through a network share/UNC path or as files on a webserver. But you can't." From the article: "Clearly, Vista's symlink API isn't complete — hopefully this is something that can be patched via a hotfix and that we don't have to wait for Fiji to get something as simple as UNC support built in."

19 of 271 comments (clear)

  1. Shorter titles are Sweeter by Hexstream · · Score: 5, Funny

    Vista's limited.

    --
    Theory is often inaccurate(TM)
  2. obligatory quote by laurent420 · · Score: 5, Interesting

    "Those who do not understand UNIX are condemned to reinvent it, poorly." -Henry Spencer

    1. Re:obligatory quote by sco08y · · Score: 4, Funny

      "Those who do not understand UNIX are condemned to reinvent it, poorly." -Henry Spencer

      And those who understand Unix wrote the Unix Hater's Handbook...

    2. Re:obligatory quote by finity · · Score: 4, Funny

      If you reinvent Unix poorly, does that make it a decent OS?



      Laugh.

  3. Apparently... by Anonymous Coward · · Score: 4, Funny

    You can't squirt files across OS's yet.

  4. Re:Shortcuts are nothing new by kimvette · · Score: 5, Informative

    No, what is being discussed here is links, e.g., creating an additional filename referencing an inode.

    http://win32.mvps.org/ntfs/lnw.html
    http://en.wikipedia.org/wiki/NTFS_symbolic_link
    http://answers.google.com/answers/threadview?id=34 1355

    NTFS does support links, but as usual from Microsoft, it's half-baked and only the bare minimum required for POSIX compliance was implemented. From sysinternals (now a Microsoft site) you can download a utility for manipulating NTFS links, or you can install the free Services for Unix (again, from Microsoft's web site) to get the M$ version of ln.

    --
    The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
  5. Yeah, sure. by dangitman · · Score: 4, Funny

    Link, please.

    --
    ... and then they built the supercollider.
  6. I don't think they get it by value_added · · Score: 5, Insightful

    Windows 2000 promised administrators the ability to manage everything from the command-line. That turned out to be true mostly for a small list-of-old-DOS-utilities value of true. Additionally, we were offered junctions/mount-points which sortofkindof worked, but weren't fully supported. Sysinternals offered their 'junction' utility which worked a bit better, but again, not really. Now with Vista have SFU or SFU-as-subsystem that promises everything that Windows Scripting Host promised and more!

    I expect that whatever hodge-podge of new features, one-off Resource Kit utilities or whatever else Microsoft decides to offer in their latest and greatest, I'll continue to rely on the folks at Cygwin to take advantage of whatever limited functionality exists in Windows, and then implement workarounds for the inconsistencies and shortcomings to make something useful and sane with it. In the meantime, I'll bet my right monad that a future Slashdot headline will read Vista's Borked NFS Client.

  7. Junctions by wandazulu · · Score: 4, Informative

    I can't RTFA because of web error, but while I haven't tried Vista's idea of symlinks, I have used junctions, which were introduced in Win2000. To me, symlinks are one of the best features of Unix and on my Mac and Linux machines, I use them quite extensively. On Windows, while the junction API was available, no Microsoft-specific tools made use of them (that I could find), and resorted to a freeware program that implemented the junction api.

    Whoa, big mistake. Junctions *do* work, but, and I think this is why Microsoft didn't promote or encourage their use, none of their other tools support them. In other words, doing a search of a drive that has junctions can lead to infinite recursion depending on how the junction is created. No Windows tools understand the "Don't follow symlinks" command that Unix tools have, and I had a few programs even crash whenever I tried to save to a junctioned-folder (Visual Studio was guaranteed to crash on me).

  8. Obligatory rebuttal by Tim+C · · Score: 5, Funny

    "A witty saying proves nothing." - Voltaire.

  9. don't use NTFS by drgonzo59 · · Score: 5, Informative
    Ext3 has great symlink support ;)

    Try this and a ext3 file system. I have all my Documents and the whole user directory on an ext3 and it works great. I can also access it from Linux if I want...

    1. Re:don't use NTFS by mrchaotica · · Score: 5, Interesting

      Is it possible to run all of Windows on EXT3?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    2. Re:don't use NTFS by l3v1 · · Score: 4, Insightful

      my Documents and the whole user directory on an ext3 and it works great

      Good that it does, but you shouldn't advertise it as being true ext3 since it isn't. The ext2 ifs windows thing doesn't support ext3 journaling, it just treats the ext3 volumes as if they were ext2.

      Point me to a true xfs windows driver and I'll be happy.

      --
      I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
  10. Only on Slashdot... by StarkRG · · Score: 5, Funny

    Only on Slashdot can a first post be redundant...

  11. Re:Holy negativity Batman! by AHuxley · · Score: 4, Funny

    Link, or do not link. There is no 'try.'

    --
    Domestic spying is now "Benign Information Gathering"
  12. Re:Huh? Symlinks were in XP/2000 NTFS all the time by ozzee · · Score: 4, Informative

    At first blush you would think so, but the semantics of a windows NTFS symlink is more like a mount point.

    Firstly, you can't use normal "commands" to create/delete NTFS symlinks. The collection of system calls to create a symlink are badly documented and incomplete.

    The big differences are (from memory):

    • If you attempt to delete an NTFS symlink using normal "remove" system calls, you delete the file being linked to.
    • If you rename a symlink, you're renaming the file being linked to.
    • There are no "relative" symlinks (i.e. ln -s x y)
    • In *nix, if xxx is a symlink to a directory then xxx refers to the symlink while xxx/ refers to the location linked to
    • ... probably more, I can't think of anything else right now, I'll go do some more research later.

    So while there is a similar function called a "reparse point" it is more like "mount" that it is like a a true UNIX symlink.

    Also, most of the Windows tools just don't deal with link (hardlinks or symlinks). If you do a hardlink from one file to another and check to see disk usage of a directory, the file is counted twice. Most unix tools (du etc) will not count hardlinked files twice and symlinks are counted as the disk space the symlink uses not the file it points to.

    Symlinks are a very powerful tool and are very mature in the *nix world. Windows is just simply way behind on this one.

  13. The problem is replication by SuperKendall · · Score: 4, Insightful

    Why this obsession with UNIX?

    I think that was more an example of something they could have done - basically a good choice, even though there are others.

    The main problem I see with Microsoft is the incredible degree to which they duplicate something that already exists:

    * Operating system, as noted they could base this on UNIX or something else and saved a lot of effort.

    * Filesystem - why does the world need NTFS? There are other really good file systems around. If it offered features like ZFS I could see it but about the only FS I'd like to use less than NTFS is FAT, and that's actually a better choice for small devices because it's simpler!

    * Display format - PDF ain't good enough for Microsoft, hell no, we need a brand new document/display language. Metro!

    * Porgramming langauges. We can't extend Java just the way we like without community review? Screw you all, we're building a new ball from scratch and running home!

    * I think we need an XML based document format. It's not like one already exists or anything, let's create one from scratch!

    Think of how far the industry as a whole would be along if Microsoft actually contributed to any of those fields instead of devoting huge numbers of resources to creating anew. Microsoft single handedly has set the computer field back probably a decade or more.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  14. Re:If they would have kept their original ideas by RAMMS+EIN · · Score: 4, Insightful

    There were very many good ideas about NT. Microsoft either actually were planning to deliver these features, but somehow didn't manage, or they deliberately misled people so that these people would wait for NT, instead of buying a competing OS. Similarly with Vista: they promised many great features, but almost all of the features I've seen people raving about have been dropped in the meantime.

    --
    Please correct me if I got my facts wrong.
  15. Re:If they would have kept their original ideas by grcumb · · Score: 4, Insightful
    Most of the nice features of NT died either because they came with a performance penalty (e.g. user-mode display drivers)

    I remember when Microsoft announced that they were moving graphics back to ring 0 with NT 4.0. The rationale was that they would get much improved performance, which is a perfectly fair conclusion. But when asked about the liability created by this, they basically said, 'Well, if your graphics driver is hosed, you can't use the system anyway, so you'd just as well reboot.'

    That wasn't the last straw for me, but it demonstrated with perfect clarity that this was not the OS I wanted on my servers. Here was Microsoft telling me with a straight face that they had no plans to ever provide any decent remote control of the server, that multi-user scenarios were off the table for the foreseeable future, and that system performance was going to be compromised in order to draw windows more quickly, rather than optimised over time in userland.

    It was clearly a fundamental technical design decision made by the marketing department, who apparently would be happy to put tits on a bull if it increased market share in the hermaphroditic bestiality demographic.

    Within two years of that, I was working exclusively with FOSS on my servers, and have never looked back.

    There's a lot of mindless partisanship on Slashdot, but I think it's useful to remember from time to time that many posters here have learned to dislike Microsoft the hard way: through bitter experience of watching marketing continually triumph over technology.

    --
    Crumb's Corollary: Never bring a knife to a bun fight.