Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Vista's Limited Symlinks 271

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."
This discussion has been archived. No new comments can be posted.

Vista's Limited Symlinks

Comments Filter:
  • Time to call in the code inspectors.
  • by Hexstream ( 892806 ) on Sunday November 19, 2006 @03:52AM (#16902536)
    Vista's limited.
  • obligatory quote (Score:5, Interesting)

    by laurent420 ( 711504 ) on Sunday November 19, 2006 @03:59AM (#16902574)
    "Those who do not understand UNIX are condemned to reinvent it, poorly." -Henry Spencer
  • by BadAnalogyGuy ( 945258 ) <> on Sunday November 19, 2006 @04:09AM (#16902606)
    PHP has encountered an Access Violation at 7C8224B2
  • by Anonymous Coward on Sunday November 19, 2006 @04:12AM (#16902614)
    Let's get real. If the OS was perfect nobody would buy the next version. I bet that 80% of purchases are made by people that secretly hope there's finally a version of Windows that just works.

    [and there's of course the not-invented-here syndrome - maybe symlinks are GPL-ed? :-)]
    • I think you're statistics is completely wrong. That 80% would probably rather be "by people who buy a new computer".
      Also you need to define "just works" -- you seem to mean feature set perfection, competing operating systems don't have that either, either in features or lack of bugs.
  • ... not when the ability to successfully resolve something may depend on things handled by the directory/metadata structure, with tagging that is indeed OS-specific.

    MacOS has had aliases [] since System 7 and they're far more useful than a unix-style symlink ever has been for me -- in part because everything that needs to open a file on the Mac uses the MacOS APIs. POSIX is "closer to the metal" and therefore pays a price in lost features of abstraction.

    If you want Unix-style utilities to work with the new Vis
    • Re: (Score:3, Insightful)

      by MORB ( 793798 )
      POSIX isn't supposed to be closer to the metal than the native OS api. It's supposed to be a standard, non os-specific way to access files.

      It's the job of the OS makers to provide a POSIX implementation that works on top on the native api. You'll find that developers writing cross-platform apps are not fond of having to conditionally use platform specific code, especially in situations like file io that has been standardized for ages.
  • by Anonymous Coward on Sunday November 19, 2006 @04:21AM (#16902650)
    You can't squirt files across OS's yet.
  • Yeah, sure. (Score:5, Funny)

    by dangitman ( 862676 ) on Sunday November 19, 2006 @04:25AM (#16902670)
    Link, please.
  • Same ol' show (Score:4, Insightful)

    by marcello_dl ( 667940 ) on Sunday November 19, 2006 @04:30AM (#16902686) Homepage Journal
    A couple of days ago, the ranting of some MS manager about interoperability, here on slashdot. But when it's time to ship, having working symlinks (rocket science apparently) for basic interoperation purpose is not there. Same old Microsoft, expect same old frustrations with Vista.
  • by value_added ( 719364 ) on Sunday November 19, 2006 @04:38AM (#16902718)
    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.
  • by Yahma ( 1004476 ) on Sunday November 19, 2006 @04:39AM (#16902720) Journal

    People are asking questions about VISTA Symlinking on MSDN. See this thread. [] The Vista symlink seems to have not much more functionality than "shortcuts" did in Windows 95 or Windows 98.

    The issue at hand is why was the API left so incomplete that remote accessing a share that utilizes Vista Symlinking does not work? This is a large oversight on Microsofts part, and basically makes Symlinking useless. Fortunately, Symlinking works great via Samba. Another reason to stick with Linux..

    ProxyStorm [] - An Apache based anonymous proxy service for security minded people.
  • 22.. (Score:3, Insightful)

    by psavo ( 162634 ) <> on Sunday November 19, 2006 @04:45AM (#16902742) Homepage

    22 bloody years...


  • Junctions (Score:5, Informative)

    by wandazulu ( 265281 ) on Sunday November 19, 2006 @04:54AM (#16902788)
    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).
    • by pe1chl ( 90186 )
      And when you copy a directory tree that contains a junction, then delete that copy in the explorer, you will delete the original.
      Very clever!
      Even more so because there is no warning about this, or any way to see (in the explorer) that this is going to happen. E.g. because of a different icon or color used for a junction, like for a hidden file or a compressed file.

      This stupid explorer is warning me that I want to delete a read-only file (as if anyone cared), but it smoothly deletes data it should not touc
    • Read very carefully. NTFS junctions are the equivalent of unix hardlinks. NOT symlinks.

      I use the junction tool too (so I can support 2 versions of my app), VS2005 works perfectly well with it, but I keep everything local, and as simple as possible. I've never had a problem with junctions.
  • by Marbleless ( 640965 ) on Sunday November 19, 2006 @04:59AM (#16902796)
    ... that /. can find about Vista then Microsoft have won.
  • by Inaffect ( 862616 ) on Sunday November 19, 2006 @06:00AM (#16902988)
    I don't think its right to just attack Windows Vista because of a few problems. I mean it is not perfect and will not behave exactly the same as Linux, and this is Slashdot, but Microsoft, as a commercial entity, has done a good job providing a quality OS for computer users. Microsoft, no matter how much you may think they've "lied, cheated, and stealed" their way to the top, only has the profitability and money they have due to consumers. And they do make legitimate attempts at patching their OS and working towards improving it. I've also had about 6 Coors Lights tonight since its the weekend.
    • by Sinryc ( 834433 )
      You know, I agree with you completely. If we can get something that is easier, faster, and all in all better, people will use it. Look at Firefox, will ya? Also, I am STILL nursing a hangover, it being the weekend and all.
    • Proof: the more you drink, the more attractive Windows becomes.
    • Is this post actually an attack to vista though? It seems to talk about Vista's symlinks only, and they are limited. It doesn't make any sense to say "Symlinks are limited but the other vista features are so cool it doesn't matter" in an article that's dedicated to symlinks, does it?
    • Hey, does nobody else see the parent as a +5 funny? Even better if you have mod points...

    • by Jesus_666 ( 702802 ) on Sunday November 19, 2006 @10:38AM (#16903870)
      Maybe it's not right to continually bash Vista for a few problems, but Vista doesn't have a few problems - it has heaps of them. It's late, most of the features we were promised are missing and others are badly implemented - in this case they promised us full-blown symbolic links and in reality delivered a functional equivalent to Windows 95's link files.

      I'm sorry, but much of the continual bashing of Vista comes from the fact that we're continually discovering new flaws. It's hard to stop bitching when you're subjected to a continuous stream of news saying that "Vista feature X was dropped/doesn't work as advertised/is implemented in a bad fashion".
  • by dpbsmith ( 263124 ) on Sunday November 19, 2006 @08:41AM (#16903416) Homepage
    Compare Mac OS X. It has two different kinds of symlinks. It has the traditional, pure-quill, UNIX symlinks which work exactly as UNIX users expect.

    It also has Mac OS "aliases," introduced IIRC in System 7, which most Mac devotees think are superior to UNIX symlinks.

    Now, before I get too far into praising "aliases," let me acknowledge that the presence of both mechanisms in Mac OS X is a big, hairy, ugly, mess, and one of innumerable places where the Mac world currently suffers from having anywhere up to half a dozen or so APIs for the same basic functionality. Mac OS X now resembles, well, my house, with fifteen-year-old half-abandoned dusty possessions still lurking in the attic. Not that Windows is any better, of course.

    But I digress. You may like Mac OS aliases or you may dislike them, but you can see they they are a complete, well-thought-out, finished, working mechanism that it is at least possible to admire as something more than a half-baked knockoff of symlinks.

    I happen to like them, a lot, because they just work. You don't need to do anything special at a programming level to dereference them, and it doesn't matter what programming language you're using or whether you're accessing them across the network, or whatever. However you do it, when you open the alias, you open the file it points to. And they are not fragile: you can move them or rename them or whatever and they still point to the right place. (The tough part is not dereferencing them... and Apple's deliberate failure to document or provide an API for creating them programmatically).

    What I find hard to forgive Microsoft is that when Microsoft implements their knockoff of a well-known OS feature, it is rare that they come up with anything fresh and original. So many of their derivatives seem to be hasty knockoffs implemented by people who didn't "get" the original. And they put these half-baked implementations into shipping products, making it very difficult for Microsoft ever to finish them or fix them.

    You can see this in a dozen places, like the Windows NT command language, which is a half-baked extension of the miserable quarter-baked DOS command language. Jeez, guys, you had DCL and the various UNIX shells as models, couldn't you do better than that?

    And five years later, there tends to be conflicting documentation: the documentation written when badly-designed feature X was introduced, telling all good little Microsoft developers that they simply must, must, must use feature X in everything, and the documentation written a few years later warning everyone against the bad practice of using crufty old deprecated feature X...

    I just wish I could shake Microsoft by the scruff of the neck and say, "Listen, if you can't improve it, then at least make a faithful copy of it."

    Don't just pee in it to give it that personal flavor.
    • When I said "And they are not fragile: you can move them or rename them or whatever and they still point to the right place," what I meant was that you can move or rename the targets they point to without breaking the link.

      • what I meant was that you can move or rename the targets they point to without breaking the link.

        Not to be an ass, but even freaking Shortcuts in Windows (from Win2k and newer) don't break either, even if the shortcut points to a volume half way around the globe.

        Look up NTFS's DLT features...

        As for the whole Vista not supporting Symlinks, people really need to do a bit of homework here. Vista supports, three main types of reference mechanisms from Symlinks to the old Shortcuts. What people are talking abou
      • Just like hardlinks?
        • Not quite. OS X actually has three kind of link:

          1. Hard links point to an inode on the current volume. File names are, effectively, all hard links, although typically you only refer to them as links when the file's reference count if greater than 1. All hard links are first-class citizens; you can't say one is real, and one is a pointer, they both have the same precedence.
          2. Symbolic links point to a path. If the path to a file changes, they will become invalid. If a new file appears at the path, they wil
    • Maybe Apple should just implement symlinks as aliases (at least on HFS+ volumes). That way you can ln -s a file without the link looking ugly in the Finder and you get some more simplicity. I don't know enough about the differences between both to actually tell whether it works like that, though.
      • by spitzak ( 4019 )
        Yes, I agree. They should just have made the symlink api manipulate aliases. I feel it would have worked. The only real difficulty is that readlink() would probably be somewhat more complex and the result is not constant.

        Currently they are a bit screwed up. They have three types of links (hard, symbolic, and aliases). And aliases, though they might be nice, have an API even worse than what Microsoft is coughing up. At least on Windows I can peek into a "desktop link" file and read the symbolic link. There d
  • Sheesh, stop talking about some of this banal Vista crap. Just let people know that Vista has no compelling reason to upgrade. This is a no brainer. I'm not being harsh nor trying to shut anyone down but these endless posts about little defects certain tend to color the fact that there's no reason to buy Vista, unless you want to have the latest stuff from Microsoft. If people want am OS that is solid and inexpensive that runs on a multitude of platforms then they should run Linux. Not that I am a huge

System checkpoint complete.