1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

WAD MKLINK & XP

Discussion in 'Support' started by jabelli, Dec 30, 2011.

  1. jabelli

    Joined:
    Oct 29, 2008
    Messages:
    83
    Likes Received:
    0
    Apparently, relative junctions aren’t supported by the XP/2003 version of NTFS:
    Code:
    [C:\tmp0]md foo
     
    [C:\tmp0]mklink /j bar foo
    TCC: (Sys) The data present in the reparse point buffer is invalid.
    "bar"
     
    [C:\tmp0]mklink /a /j bar foo
    Junction created for bar <<===>> C:\tmp0\foo
    Strangely, if you try the same thing on a Win 7 volume through terminal services (I used a VM in Windows Virtual PC and changed to \\tsclient\c), then it works.

    (tested versions: 13.03.35 & 36)
     
  2. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,859
    Likes Received:
    83
    WAD. The Windows APIs necessary for MKLINK don't exist in XP / Windows 2003; they weren't created by Microsoft until Vista.
     
  3. jabelli

    Joined:
    Oct 29, 2008
    Messages:
    83
    Likes Received:
    0
    Erm. It works if you use /a, as I stated, so they do exist. At least Microsoft thinks so. (Unless it's something else you're using.) Just force the /a option on under XP/2003, to prevent the error, and maybe mention this in the help file

    Also, the short help, really-short/status bar help, and alt-F1 command dialog for MKLINK don't mention the /a option.
     
  4. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,859
    Likes Received:
    83
    Not really; it's using different API's in XP.

    I think I'd rather just disable MKLINK completely in XP. XP users can use MKLNK instead.
     
  5. Stefano Piccardi

    Joined:
    May 31, 2008
    Messages:
    376
    Likes Received:
    2
    I tend to agree, but by disabling it you could break existing XP batch files that use MKLINK.
     

Share This Page