Vista's Fake Symlink Support


Recommended Posts

Symlinks haven't really been added to Windows Vista. It seems that the only calls to the symlink API Windows Vista 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!

Article: Vista Symlinks Revisited...

Article 2: Vista Get's Symlinks - Read it for info on what Symlinks are

Source: NeoSmart Technologies

Edited by Computer Guru
Link to comment
https://www.neowin.net/forum/topic/513824-vistas-fake-symlink-support/
Share on other sites

Symlinks

This isn't as complete an explanation as I'd like to give. I'll probably fix this as soon as final exams are over here at MIT (I'm an undergraduate).

A symlink is a UNIX thing. I think there's a similar concept on Macintoshes called an "alias". (Mac people, please fill me in on this, or correct me.) Basically, it's a filename that has associated with it a string rather than the contents of a file. This string is the name of another file to which the symlink points. If you try to read the symlink, you see the file-to-which-is-pointed-by-the-string. You can make symlinks to anything that is in a UNIX filesystem, including regular files and directories. I use them a lot to make links from one place in my home directory to others places, especially when people might look in more than one place to find a bit of information or a file they're trying to find.

You create symbolic links with the command

Gooooooogle is your friend :)

Lol guys, read the article.

In the first and second paragraphs alone there are 2 links to the original NeoSmart article discussing Symlinks in Windows Vista... hence the title "Revisited"

Here's the first article: http://neosmart.net/blog/archives/278

I'll update the original post.

Anyway, I for one am majorly PO'd that such an important feature was faked in Windows Vista.

Thats abit stupid (Well Done Microsoft)...This going to mean symlinks created in XP will not work within Vista? It kinda sounds like it.

Looks like they Droped something without publishing it (Keeping it a secret)

Not exactly. You never could create Symlinks in XP, so it was a big deal when Vista shipped with Symlink support. Then it turns out that Vista doesn't have real symlinks, as in they're not a part of the filesystem and it doesn't support "bridging" to symlinks so you can access them from a non-Vista workstation like you can with Linux.

It also means that Microsoft won't support symlinks in webservers too.. Great going! /sarcasm

isnt that just a short cut?

Sort of. But the shortcuts Windows puts in are recognized and processed only by Explorer (to my understanding - there may be one or two other things that recognize them). A third party app with a save/load dialog will not read them, and just see a ".lnk" file.

Thats abit stupid (Well Done Microsoft)...This going to mean symlinks created in XP will not work within Vista? It kinda sounds like it.

Looks like they Droped something without publishing it (Keeping it a secret)

Symlinks aren't even supported in XP. :p

Anyway, too bad this sounds more like a hack than anything else then. Things like no UNC path support is especially bad.

And yes, symbolic links are like shortcuts, just that instead of the shortcut, to the user it's supposed to be a real file system-level link to the destination, not a .lnk file with information inside it describing what it points to, with all the disadvantages that has. (a third party app may need to parse the information in the .lnk file if not having access to the Windows API)

Edited by Jugalator
I don't know, but it looks like you are the only one talking of this... even the Wiki say only your site... *Yawn*

Anything else?

Yeah, NeoSmart Technologies is always on top of things :D

Here're a couple more links if you really want to know:

MS: http://blogs.msdn.com/junfeng/archive/2006/04/15/576568.aspx

Computer Zen: http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx

{I have no idea why he calls them reparse points though}

It's fully documented in our first post, and you can try it for yourself and see.

mklink on vista, then open up XP/2k/2k3 and see how it doesn't work.

I can use ln on my Fedora and access it via a UNC path from Vista, XP, Mac, ROS, and SkyOS just to name a few - and of course it works on the webserver as well. My entire website used to be (before I switched to Windows) run off a symlink'd directory.

I guess you'll just have to trust NeoSmart if you can't test it for yourself :D

i concur.

doesn't seem to be an issue to anyone including myself..

That's because you haven't tried to access symlinks from another OS (or haven't even used symlinks yet) and/or don't care about cross compatibility.

You probably aren't running a Longhorn-Powered webserver, nor do you have Linux, Mac, and Windows one hard drive on 3 different machines....

.lnk files are basically just serialized PIDLs - a Windows Shell structure.

Symlinks in Vista are "real" symlinks. Contrary to this post's claim - you can traverse into a symlink'd directory from the command console, or via a network share. They probably ACL'd them wrong or something.

I don't know how they look or work to other operating systems - but that's more an issue with the other OS's support of NTFS 6, and not Vista.

Edited by Brandon Live

XP doesn't know how to interpret symlinks. If you make a hard link (directory junction -- also available via the mklink command) it works just fine from XP. As the article says, XP doesn't know how to read symlinks, but Vista does. What you have here is not a problem with the technology, but a problem with the client being able to understand what's being presented to it.

Having said that, I fail to see what the real problem is. Unless you're really "walking" the file system of remote Vista/Longhorn systems, most symlink benefits are realized through the localized applications; IIS for example.

@Brandon:

Not so. UNC File Shares are not FS-specific. It's a standard - that's why non-NTFS supporting OSes like Unix can access XP NTFS drives via UNC paths. It's because XP on-the-fly translates files and paths into the standard Samba platform.

Also, if what you say is true, then you couldn't access Linux symlinks via UNC from XP/2k - but you can. Clearly, Vista is to blame here.

mram: True. But just like I said, it doesn't *have* to understand it, no one asked Vista to send out the info as a non-UNC-compliant symlink. MS should realize that not all networked PCs will be running Windows Vista, but since when has MS cared about compatibility?

A good example of a pretty widely-used symlink (for those who don't quite understand the idea) is the www folder on your Linux-based web server. It's actually a symlink to the public_html folder, although I'm not sure of this is ALWAYS the case (any web server I've seen has it though).

My question is, are the Linux symlinks you're browsing in XP off of a currently-running computer through a network? If so, then the symlink information is probably being sent from Linux itself, and not being truly read by XP. I could be completely off though, as I've got good but limited experience with *nix and its filesystems.

according to the sysinternals guy, Windows 2000 and up have supported symbolic links. http://www.microsoft.com/technet/sysintern...k/Junction.mspx

Win2000 and up supports directory symbolic links and hard links for files, but not symbolic links for files, until Vista.

Junctions and Hard Links are supported by 2K, XP, 2K3 and Vista but only Vista will recognize a smybolic link, cause it's new to Windows Vista.

Junctions = Directory (can exist on another partition)

Hard Link = File (Can only exist on the same partition)

Hard Links can be used in Windows to have a file appear in 5 different folders but only take up the hard drive space in one folder.

Junctions can be used exactly like unix server style public_html and the www folder. This is useful if you need a folder like Document and Settings to appear on the C drive but your running out of room so you can move the entire folder to another partition or drive.

Junctions created in XP will be recognize by other Windows version that support it.

The symlink support is hardly a hack or faked. The way CreateSymbolicLink works is to call FSCTL_SET_REPARSE_POINT, which is how existing juntion points are created. All redirection would be handled at the kernel level, in a transparent manner.

I would curious to know if junction points are broken when accessing them via Samba from Linux, since they would use the same code path as the new symlinks. If they are not broken, I wonder if the Samba Linux implementation has code to handle junction points.

Edited by Andareed

Our article made OSNews, read the excelllent learned comments made at http://www.osnews.com/story.php?news_id=16524 for an answer to your question, Andareed (ignoring the first BS reply, that guy has no idea what he's talking about as later replies prove).

@Brandon:

Not so. UNC File Shares are not FS-specific. It's a standard - that's why non-NTFS supporting OSes like Unix can access XP NTFS drives via UNC paths. It's because XP on-the-fly translates files and paths into the standard Samba platform.

I think you're confused. "Samba" is a Unix implementation of SMB - the Microsoft standard for network sharing. "Samba" is not perfect, and does not necessarily support all the features present in the Vista version of SMB.

Also, if what you say is true, then you couldn't access Linux symlinks via UNC from XP/2k - but you can. Clearly, Vista is to blame here.

That's probably something done by the Samba server running on the Linux system, not by Explorer.

mram: True. But just like I said, it doesn't *have* to understand it, no one asked Vista to send out the info as a non-UNC-compliant symlink. MS should realize that not all networked PCs will be running Windows Vista, but since when has MS cared about compatibility?

How can it be "non-UNC-compliant"? SMB is a Microsoft technology. It sounds like it's Samba that you should be blaming, no?

The answer to my question is that junctions are always resolved/redirected on the server side, whereas symlinks need to be configured to have this behaviour. The following info was copy/pasted from a comment at OSNews.

Q: So then, what is the difference between a shortcut and the links?

A: A shortcut is a file implemented by Shell32 via the IShellLink interface. These files tell shell to jump to a different location. A symbolic link is implemented under the filesystem API, so regular applications calling CreateFile get the benefit of links without needing to implement their own code, as they would with IShellLink.

Q: What is the difference between a junction point, and a directory symlink?

A: Junctions and directory symlinks have subtly different semantics. For example, symbolic links are always evaluated on the client in a network scenario, whereas junctions are evaluated on the server. Also, ACLs are handled differently too. However, they are broadly similar.

Q: Should I be able to access a symlinked folder via the network?

A: Yes, remember that the client and the server needs to be Vista. By default only local to local links are turned on. You would need to enable the Local to Remote symlinks through the policy editor.

https://blogs.technet.com/filecab/articles/457811.aspx

Checking the Group Policy Editor in Vista (gpedit.msc) as advised above yields the following option under Computer Configuration | Administrative Templates | System | NTFS File System:

Selectively allow the evaluation of a symbolic link

o Not Configured (Default)

o Enabled

o Disabled

[] Local Link to Local Target

[] Local Link to a Remote Target

[] Remote Link to a Remote Target

[] Remote Link to a Local Target

Explaination:

Symbolic links can introduce vulnerabilities in certain applications. To mitigate this issue, you can selectively enable or disable the evaluation of these types of symbolic links:

Local Link to a Local Target

Local Link to a Remote Target

Remote Link to Remote Target

Remote Link to Local Target

For further information please refer to the Windows Help section

NOTE: If this policy is Disabled or Not Configured, local administrators may select the types of symbolic links to be evaluated.

mram: True. But just like I said, it doesn't *have* to understand it, no one asked Vista to send out the info as a non-UNC-compliant symlink. MS should realize that not all networked PCs will be running Windows Vista, but since when has MS cared about compatibility?

UNC covers how to name things and has nothing to do with symlinks. A "UNC compliant" application would just mean that it understands and supports paths of the form \\computername\sharedfolder\resource.

I think you're confused. "Samba" is a Unix implementation of SMB - the Microsoft standard for network sharing. "Samba" is not perfect, and does not necessarily support all the features present in the Vista version of SMB.

That's probably something done by the Samba server running on the Linux system, not by Explorer.

How can it be "non-UNC-compliant"? SMB is a Microsoft technology. It sounds like it's Samba that you should be blaming, no?

My bad. I meant SMB.

Not at all though, the proof being that Vista symlinks aren't accessible even from Windows XP via UNC/Network shares.

However, Vista/XP can both access Symlink'd files and folders in SMB-compliant *nix network shares.

The SMB standard as published by Microsoft themselves requires that the operating system itself intercept and translate calls to non-physical (softlink) paths - something that Vista doesn't comply with, and the reason why this is a fake.

;)

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Elgato Stream Deck+ is now available at the lowest price by Taras Buria During Amazon Prime Day 2026, Elgato is offering a big discount on its Stream Deck+ accessory. This streaming and productivity accessory is now available for $141.99, thanks to a 21% discount. For those unfamiliar, the Stream Deck+ is a console-like device that features eight buttons with built-in displays. You can map these buttons to various actions and specify what each display shows. Unlike "classic" Stream Decks, the Plus model features four additional knobs for adjusting zoom, brightness, volume, microphone, and more. Above the knobs, there is a wide display that shows various values and sliders. Elgato's Stream Deck devices are highly customizable devices, and you can expand their capabilities using hundreds of plugins from the official Elgato Marketplace. You can create your own presets or use pre-made profiles to save time when configuring the device for specific apps. In the box, you get the Stream Deck+ itself, a USB Type-C to Type-C cable, and a user manual. The Stream Deck+ is a single-cable device, and all you need to set it up is to connect it to your computer and install the official Elgato app. Elgato Stream Deck+ - $141.99 | 21% off for Prime Members Good to know This Amazon deal is U.S. specific, and not available in other regions unless specified. We only use first-party seller links (at the time of article publishing); ensure that you purchase from a first-party seller link only. Check out Today's Deals on Amazon or our recent tech deals. Become a Prime member (for Students or SNAP) via Neowin Get Prime Access - Prime for half price (for qualifying Medicaid, EBT, SNAP) Subscribe to Prime Video, Audible Plus, Music Unlimited or Kindle Unlimited via Neowin As an Amazon Associate, we earn from qualifying purchases.
    • Can you give an example of when you would want to use Rufus over the other or vice versa? Just wondering which is the "best".
    • Oh no...the wallet is already screaming. So many games and so little time. Being old and responsible is awful!
    • LibreWolf 152.0.2-1 by Razvan Serea LibreWolf is an independent “fork” of Firefox, with the primary goals of privacy security and user freedom. It is the community run successor to LibreFox. LibreWolf is designed to increase protection against tracking and fingerprinting techniques, while also including a few security improvements. This is achieved through our privacy and security oriented settings and patches. LibreWolf also aims to remove all the telemetry, data collection and annoyances, as well as disabling anti-freedom features like DRM. LibreWolf features: Latest Firefox — LibreWolf is compiled directly from the latest build of Firefox Stable. You will have the the latest features, and security updates. Independent Build — LibreWolf uses a build independent of Firefox and has its own settings, profile folder and installation path. As a result, it can be installed alongside Firefox or any other browser. No phoning home — Embedded server links and other calling home functions are removed. In other words, minimal background connections by default. User settings updates Extensions firewall: limit internet access for extensions. Multi-platform (Windows/Linux/Mac/and soon Android) Community-Driven Dark theme (classic and advanced) LibreWolf privacy features: Delete cookies and website data on close. Include only privacy respecting search engines like DuckDuckGo and Searx. Include uBlockOrigin with custom default filter lists, and Tracking Protection in strict mode, to block trackers and ads. Strip tracking elements from URLs, both natively and through uBO. Enable dFPI, also known as Total Cookie Protection. Enable RFP which is part of the Tor Uplift project. RFP is considered the best in class anti-fingerprinting solution, and its goal is to make users look the same and cover as many metrics as possible, in an effort to block fingerprinting techniques. Always display user language as en-US to websites, in order to protect the language used in the browser and in the OS. Disable WebGL, as it is a strong fingerprinting vector. Prevent access to the location services of the OS, and use Mozilla's location API instead of Google's API. Limit ICE candidates generation to a single interface when sharing video or audio during a videoconference. Force DNS and WebRTC inside the proxy, when one is being used. Trim cross-origin referrers, so that they don't include the full URI. Disable link prefetching and speculative connections. Disable disk cache and clear temporary files on close. Disable form autofill. Disable search and form history...and more. Download: LibreWolf 64-bit | Portable 64-bit | ~100.0 MB (Open Source) Download: ARM64 | Portable ARM64 Links: LibreWolf Home Page | Addons | Screenshot | Reddit Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Hands on with iFlyTek AINote 2 E-Ink tablet: insanely thin and smart by Taras Buria During Amazon Prime Day 2026, iFlyTek is offering its E-Ink tablets with big discounts. The AINOTE 2 is now available at 20% off, allowing you to save quite a lot on one of the thinnest E-Ink tablets out there. I was offered a chance to look at the device, so here are my impressions. The AINOTE 2 is a large 10.65-inch E-Ink tablet that strikes you the moment you take it out of the box. It is extremely thin. At just 4.2 mm, this tablet is at the edge of what is possible for a device with a USB Type-C port. It is also very light, which makes it comfortable and enjoyable during long reading sessions. The tablet has a gold metal chassis with the front and back made of plastic. The back also features four rubber feet that prevent it from sliding around your desk when writing. Besides a USB Type-C port and an LED indicator, there are two buttons mounted on the top edge: a power button with a built-in fingerprint scanner and a dedicated AI button. I would say the fingerprint scanner is quite mid. Given that iFlyTek positions the device as a digital notebook, it makes sense to have a biometric scanner to protect sensitive information. However, it is not the fastest fingerprint reader, and sometimes it fails to recognize my finger. I assume that is due to the tablet's insane thinness. A dedicated AI button is an interesting choice, especially in the middle of the top edge. I can see this button being useful for those who heavily rely on AI and use it frequently, but I cannot help but think its placement is impractical. Having it on one of the longer sides would make so much more sense. The AINOTE 2 is a very pretty device. Gold finish with thin chassis and nearly symmetrical front bezels create a fantastic combination, and iFlyTek cleverly hides the front chin with a section that looks like an extension of the screen, housing two touch-capacitive buttons: one for AI and one for quick notes. This section can also scroll pages when you swipe from the middle to the left or right. It is a cool idea, and very handy when you need to scroll tens of pages at once. AINOTE 2's elegant look extends from its exterior to its software. The user interface is very clean and not cluttered with an abundance of buttons. The tablet prioritizes the note-taking experience, and when you unlock it, it defaults to the list of all notes and folders. Additionally, there is a separate "Schedule" section with your calendar, tasks, memos, and other productivity features. You can connect your Outlook or Google account or use a local calendar. The tablet has quite a lot of AI features powered by OpenAI's GPT-5 and Google's Gemini 3. Besides a standard app with all your chats, you can invoke AI by pressing its dedicated button and dictating your request. It is not limited to just chats. It works with the built-in calendar, and you can tell it to create events, tasks, notes, and more. Additionally, AI features are integrated into the built-in notepad, allowing you to summarize notes, ask questions about your notes, and more. The tablet can OCR handwritten text in different languages (about 120 languages, which is very impressive), and it surprised me with very good accuracy. Voice note transcription is also available, including a "multiplayer" mode where the tablet detects each speaker. Unfortunately, the AINOTE 2 has no built-in speakers (even though it somehow makes a tapping noise when you flip pages using the Quick Bar), so the only way to listen to something is to connect a Bluetooth speaker or headphones. However, there are four front-facing mics for dictation, voice notes, AI chats, and more. Unfortunately, certain features require a Pro subscription that costs $5.99/mo or $59.99/year. Those include offline voice transcription, access to better AI models, the ability to edit notes on a PC or mobile app, and extended service coverage similar to Apple Care. It is a bummer to see yet another app, especially in a device that costs $649, but at least they give a free 90-day trial so that you can see if the benefits justify the price. As for the reader, it supports PDF, EPUB, TXT, MOBI, AZW3, DOC(X), XLS(X), PPT(X), JPEG, JPG, and PNG. The app is quite customizable, with features like text contrast/boldness/size adjustments, margins and spacing customization, and the ability to load custom fonts. Plus, you can annotate books with the stylus, add text notes, and use AI to work with them. Just keep in mind that most AI features require an active internet connection. Like with other E-Ink tablets with Android inside, you can load any other reader you want from the Google Play Store or a third-party source. Despite its hefty price tag of $629 or $519 by the time of publishing this article during Prime Day 2026, the AINOTE 2 has quite modest hardware inside. There is only 4 GB of RAM and about 42GB of storage. It is powered by the RockChip RK3576 processor with 8 cores at 2.2 GHz. Given that the tablet runs Android 14 and has Google Play, you can install Android apps, but do not expect much from this thing performance-wise. As for the battery, there is a 4,000 Li-Ion battery, which, on full charge, lasted me for about one week of active daily use of reading and note-taking. The screen has a resolution of 1920x2560 pixels, which equals 300 PPI, a perfect spot for a sharp, nice-to-read display. It supports EMR styluses that do not require charging, and I have to say that the note-taking experience on this tablet is fantastic. Stylus lag is nearly imperceivable, creating a very natural, paper-like feel. The stylus comes in the box (including two extra nibs), and it features an extra button for various actions and an eraser on top. It magnetically attaches to the tablet and stays safely secured. The stylus has a very nice coarse texture, and thanks to using Wacom tech, you can swap it for any other EMR pen if you wish. The AINOTE 2 has no front light, and because of that, the display sits very close to the screen surface, reducing the distance between the stylus tip/your finger and the display to a minimum. No front light is certainly an inconvenience in certain scenarios, but the screen makes up for that with a seriously impressive paper-like feel and writing experience. In dark conditions, you will have to find a lamp, but the good thing is that the screen has a solid anti-glare surface that diffuses light. The display has two modes: Crisp and Fast. Crisp ensures the image stays, well, crisp and sharp, while Fast speeds up refresh rate and response by toning down display resolution and making everything a bit more jagged. In my testing, I only used Fast mode when browsing the web for a much faster render time. The iFlyTek AINOTE is an impressive device, but it's not flawless. A few things disappointed me during a week of using it. Software localization has a bunch of not necessarily broken, but certainly awkward, machine-translated English. System navigation is not good, as there is no universal "Home" gesture. To go to the main page, you have to swipe up and then press the Home button from the multi-tasking window. There are many gestures for various actions, such as display cleanup, screenshot, undo/redo, but no back/forward or Home gestures. I really hate that the tablet won't let me update its software without creating an iFlyTek account first. Finally, privacy could be a concern for some, as most tablets' features require an active internet connection, an iFlyTek account, and sharing data when using AI. If you can overlook its quirks, some of which could be addressed with software updates (I received two with massive changelogs over a single week), and accept a $519 price tag (with a discount), you will be happy with the AINOTE 2. However, if you do not need that many AI features in an E-Ink reader or you want something a bit more affordable, you'd better look at cheaper competitors from BOOX or Amazon, such as the BOOX Go 10.3 Gen 2 or the Kindle Scribe, which is currently 24% off during Prime Day sales. Buy iFlyTek AINOTE 2 on Amazon - $519 | 20% off with Prime What I liked What I disliked Very impressive hardware Beautiful design Fantastic display with an EMR stylus Supports offline voice transcription Easy-to-use software Clever, useful, and well-made AI features A fingerprint scanner Very expensive Some features require a subscription Poor system navigation Mandates a user account No speakers Privacy could be a concern Note: iFlyTek provided the review unit without any editorial input or review guidance. As an Amazon Associate, we earn from qualifying purchases.
  • Recent Achievements

    • First Post
      kinowa earned a badge
      First Post
    • Rookie
      krychek57 went up a rank
      Rookie
    • Grand Master
      Jaybonaut went up a rank
      Grand Master
    • One Year In
      Philsl earned a badge
      One Year In
    • Dedicated
      Scoobystu earned a badge
      Dedicated
  • Popular Contributors

    1. 1
      +primortal
      416
    2. 2
      +Edouard
      168
    3. 3
      PsYcHoKiLLa
      132
    4. 4
      Xenon
      73
    5. 5
      Michael Scrip
      73
  • Tell a friend

    Love Neowin? Tell a friend!