Nant failing with bad permissions on build server

前端 未结 5 1070
有刺的猬
有刺的猬 2021-02-07 07:58

Total newbie question. I am trying to run a Nant script on a build server (very basic script, not doing anything), and it\'s failing with the error

System

5条回答
  •  傲寒
    傲寒 (楼主)
    2021-02-07 08:00

    This problem is caused by Windows setting the files' "Zone.Identifier" metadata in NTFS to "Internet" (or to another zone which you have to explicitly unblock to gain access).

    To not cause file security metadata to be written when you copy files or, in my case, unzip from a zip file on a network drive, either copy the zip file to a local folder before unzipping it, as previously suggested, or run the "streams.exe" tool from Sysinternals to remove that metadata.

    For example, if I run streams.exe on exe's in my Downloads folder:

    streams.exe *.exe
    
    Streams v1.56 - Enumerate alternate NTFS data streams
    Copyright (C) 1999-2007 Mark Russinovich
    Sysinternals - www.sysinternals.com
    
    C:\Downloads\jre-6u27-windows-x64.exe:
       :Zone.Identifier:$DATA       26
    

    Normally, streams.exe wouldn't display any metadata information if the files all originated from a local folder. If you do see these ":Zone.Identifier:$DATA" metadata (stored in NTFS as an alternate data stream), then you should also see an Unblock button in the files' Properties dialog.

    To unblock the files in bulk, run "streams.exe -s -d *.*" from your problematic folder.

提交回复
热议问题