0

One of the development tools we use (ember-cli.com) requires symlinks in order to be performant on windows. The recommended strategy is to either run your shell as an admin or to add the SeCreateSymbolicLinkPrivilege privilege to your user. My issue is that neither of these things seem to be working for me and ember-cli continues to use the slow non-symlink path.

As part of its startup process ember-cli tests for the ability to create symlinks by creating a tmp file, while watching the file system activity using procmon I see the following:

6:01:19.2258921 PM node.exe 8576 FileSystemControl C:\Users\username\AppData\Local\Temp\canLinkDest.tmp ACCESS DENIED Control: FSCTL_SET_REPARSE_POINT

This to me indicates something is causing weirdness, however I'm not sure how to diagnose what exactly is causing the issue.

It might be worthwhile pointing out that this is happening on my office workstation on which I have admin rights, but which is also running all manner of enterprise protection stuff e.g. virus scanners, rights managements software etc...

more log detail

6:01:19.2255745 PM node.exe 8576 CreateFile C:\Users\username\AppData\Local\Temp\canLinkDest.tmp SUCCESS Desired Access: Write Attributes, Delete, Synchronize, Disposition: Create, Options: Synchronous IO Non-Alert, Non-Directory File, Open Reparse Point, Attributes: N, ShareMode: None, AllocationSize: 0, Impersonating: AD\username, OpenResult: Created 6:01:19.2258921 PM node.exe 8576 FileSystemControl C:\Users\username\AppData\Local\Temp\canLinkDest.tmp ACCESS DENIED Control: FSCTL_SET_REPARSE_POINT 6:01:19.2259123 PM node.exe 8576 SetDispositionInformationFile C:\Users\username\AppData\Local\Temp\canLinkDest.tmp SUCCESS Delete: True 6:01:19.2259465 PM node.exe 8576 CloseFile C:\Users\username\AppData\Local\Temp\canLinkDest.tmp SUCCESS
6:01:19.2289415 PM node.exe 8576 CreateFile C:\Users\username\AppData\Local\Temp\canLinkSrc.tmp SUCCESS Desired Access: Read Attributes, Write Attributes, Delete, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, Impersonating: AD\username, OpenResult: Opened

7
  • Is the target of the symlink local or remote? What does fsutil behavior query symlinkevaluation (at an elevated cmd prompt) return?
    – dxiv
    Commented Nov 24, 2015 at 0:56
  • @dxiv Local to local symbolics are enabled.
    – jonnii
    Commented Nov 24, 2015 at 1:31
  • @dxiv I'm also pretty sure this is local to local.
    – jonnii
    Commented Nov 24, 2015 at 1:35
  • 1
    Then I'd try to create a symlink manually next, using mklink.exe at the cmd prompt. Maybe it gives a more meaningful error message, or at least a better chance at google'ing the issue outside the ember-cli context.
    – dxiv
    Commented Nov 24, 2015 at 1:44
  • @dxiv i can create links using mklink, it only seems to be a problem when running this through ember-cli/node.js
    – jonnii
    Commented Nov 24, 2015 at 1:47

0

You must log in to answer this question.

Browse other questions tagged .