When we first released the Build Automator one of the first people to download the demo got an error after running the program once. It was an obscure error that we had never seen or heard about, the message only stating "Failed to execute target process (Error Code 5)"
I posted questions about this on several developer newsgroups and did not get much information back. But my luck was about to change! Few hours after I posted a fellow Clarion programmer and photography enthusiast, Marty Honea, called me and asked if this customer was using Internet Explorer 7. He had run into a similar problem few months earlier and got information that this was caused by security settings in IE7 and he gave me information about how to fix this.
This was on April 30 and I posted this right away to my customer but didn't hear back from him until today. Apparently I wasn't receiving his emails for some reason. The fix I had sent to him worked perfectly.
First of all, the fix:
Open Explorer and navigate to the executable that is showing the error. Right click on the EXE file. At the bottom of the properties window, on the "General" tab there is a section at the bottom, called "Security" which shows a text about that "this file may have come from another computer and might be blocked to help protect this computer"
This section ONLY shows up if the file is blocked! Click the "Unblock" button on the right, under the "Advanced" button and this whole section disappear and so does this cryptic error message!
Next, some digging:
Tonight I decided to do some research and see what I could come up with. Apparently this comes from a zone protection that is implemented in IE7 and under Vista. From what I understand this may also happen under XP. When a file is downloaded or copied the OS seems to add an alternate data stream to it that indicates where it came from. When the file is run, or opened, the source of this datastream is compared to the computer where the program is currnently running and if they don't match, the zoning restrictions kick in. In this particular case the abrevity and obscurity of the message is such that it's impossible to figure out what is causing it.
Most people haven't heard much about Alternate Data Streams (ADS) sometimes also called "Additional Data Streams". This is a feature of the NTFS file system that allows anyone to attach data to a file, rather than add to the file. Not only that, this data doesn't show up anywhere unless you know where to look. Until XP SP2 you could create additional streams using notepad and save the file to something like myfile.txt:additionalstream.txt Notice the colon in the filename? That's the indicator that the data should go to an additional stream, rather than into the file itself.
The interesting thing is that if you view the size of the file in Explorer, or any other software that doesn't specifically look for ADS, the software will not report the ADS at all! It is, for all intents and purposes, completely hidden from view. This opens up the rather strange possibility of having a hard drive full of 0 byte files, but the drive is full of data!