Uma das ferramentas de desenvolvimento que usamos (ember-cli.com) requer links simbólicos para ter desempenho no Windows. A estratégia recomendada é executar o shell como administrador ou adicionar o privilégio SeCreateSymbolicLinkPrivilege
ao usuário. Meu problema é que nenhuma dessas coisas parece estar funcionando para mim e ember-cli
continua a usar o caminho lento não-symlink.
Como parte de seu processo de inicialização ember-cli
testa a capacidade de criar links simbólicos criando um arquivo tmp
, enquanto observa a atividade do sistema de arquivos usando procmon, vejo o seguinte:
6:01:19.2258921 PM node.exe 8576 FileSystemControl C:\Users\username\AppData\Local\Temp\canLinkDest.tmp ACCESS DENIED Control: FSCTL_SET_REPARSE_POINT
Isso para mim indica que alguma coisa está causando estranheza, mas não sei como diagnosticar o que exatamente está causando o problema.
Pode valer a pena ressaltar que isso está acontecendo na estação de trabalho do meu escritório, na qual tenho direitos de administrador, mas que também está executando todo tipo de material de proteção empresarial, por exemplo, scanners de vírus, software de gerenciamento de direitos, etc ...
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