UNBLOCK

As a software developer I often want put up executable software for download,
and sometimes email updates and special modifications to various people.

Unfortunatly Windows blocks execution of most files that you download get
the internet (mostly with good reason). Usually are offered an option to
,ale it run "anyway", but depending on your system it may not be easy to
make this prompt permanently go away.

As it turns out, when Microsoft went to NTFS as their main file system, they
added a feature called "Alternate Data Streams". This allows a block of data
to become part of the file, but be completely hidden in normal use, and from
users.

When a file is obtained from the internet (or presumably other questionable
sources), the program doing so adds a hidden data stream describing where the
file came from.  Windows checks for this marker and if it sees it, blocks the
file.

Under Windows8 and above, you can go to the file "properties" and uncheck
a "Block" attribute, you can also use "powershell" scripts to unblock many
files at once.. but neither of these methods works with Windows 7.

There are a few ways to unblock a file on Windows 7.

Copy it to a location that does not support ADS (FAT format USB sticks work)
then DELETE the file and copy it back. You have to DELETE it first, because
if you just write the unblock file over the original, Windows will keep the
Alternate Data Stream from the original.

Another way is to use Sysinternals STREAM utility to remove the Alternate Data
Stream. This utility is available on Microsofts site, and I have placed it in
my download area as well in case it "disappears".  This utility will also let
you check for and see Alternate Data Streams of any file. It is run from the
command line, and has no documentation, however if you just run "STREAMS" with
no command arguments it will show a brief usage syntax.

And through testing I have determined that once a file is deleted the Alternate
Data Stream disappears and does not get written if you are just writing the
file locally (this is why copy to NON-NTFS/delete/copy back works).

I have provided UNBLOCK.EXE, a small utility which gives you a menu of all the
.COM, .EXE and .ZIP files in the current directory, lets you select one, and
then reads it into RAM, DELETE's it and re-WRITES it. This has solved the
problem for me, but there are no guarantees.

This can be a useful utilite to put in your downloads directory.

UNBLOCK has a 2 megabyte buffer (2097152 bytes) which it uses to store the file
to RAM. This is plenty for my software archives, but if you get messages that
the file is too large, try STREAMS or a FAT format USB stick.

UNBLOCK uses the same buffer to store filenames when offering the selection
menu. If you get the message "STRING POOL OVERFLOW" then you have too many
files in your directory. Move the one you want to UNBLOCK to a less full
directory and try again.

UNBLOCK DOES read/delete/rewrite the file, so something *could* go wrong.
I don't recomment using it on files not easily replaced unless you make a
backup copy of it first!

Dave Dunfield   -   https://dunfield.themindfactory.com
       Download and see my product CATALOG.
