When using Windows XP SP2 or greater or Windows 2003 (SP?) or greater, if you download a file from the internet or even copy files from another server (ie via UNC path), then files are marked as having been downloaded from the internet. The operating system marks these files by creating a new NTFS Stream, specifically with a Zone.Identifier record.

If you look at the properties of the file, you will see message which says:

This file came from another computer and might be blocked to help protect this computer.

In addition, there is an Unblock button you can push that is supposed to remove the Zone.Identifier.

When the Zone.Identifier Stream exists, the operating system will not execute the file without a human to interactively say yes. This means if you copy over, say, files for a ASP.Net application, then the ASP.Net web site will fail to start as it cannot execute the files necessary. This can easily be fixed by using the Streams application from SysInternals.

To check if a file has Zone.Identifier record in it's NTFS Stream, from the command line execute:

stream filename

To fix(ie remove the NTFS Stream) an individual file, execute

streams -d filename

To recursively fix(ie remove the NTFS Stream) all files/subfolders in a directory, execute

streams -s -d dirname 

NOTE: If you have downloaded a zip file which is marked as coming from the internet, then all the unzipped files will also be marked.