Helping people with computers... one answer at a time.
"To help protect your computer, Windows has closed this program" is a sign that Data Execution Prevention has been invoked. I'll look at what that is.
When I move files (mainly video files, but it also happens with other file types) from one directory to another, I get an error message that says that for safety reasons (to better protect my computer), Windows XP has decided to shut down Windows Explorer. I use XP, service pack 3. I presume that I need to reset some safety features, but I haven't got a clue which ones. Other than that, the PC runs fine. Any idea on what I can do to fix this?
The error message in question - "To help protect your computer, Windows has closed this program" - is a result of DEP, or "Data Execution Prevention", a security feature in Windows.
While we could turn that off, that would not be the right thing to do.
Copying files simply shouldn't result in a DEP error.
A "data execution prevention"-related error, which I'll describe in more detail below, is an software error of some sort. Exactly how or why it happens is almost impossible to say. About all that we can say is that "something ain't right".
DEP was added because it checks for one technique that malware sometimes uses to attack your machine.
Does this mean that you have malware if DEP triggers? Again, the best that we can say is maybe.
Start by running up-to-date anti-malware scans - both anti-virus and anti-spyware. Make sure that you're using reputable tools (I have recommendations) and that they are up-to-date.
Because it's not necessarily malware, the next step would be to make sure that your system is up to date as well. Often, bugs in software can manifest in this manner.
Similarly, it might be wise to make sure that you're running the latest device drivers for your system. If Windows Update doesn't offer them, you might want to check with your computer's manufacturer.
Finally - and this is perhaps the vaguest advice of all - check the other software installed on your machine. As this is a Windows Explorer crash, check and consider updating or uninstalling any software that adds items to Explorer pop-up menus in particular or is related to file copying in any way .
As you probably know, everything that your computer is doing or working on is stored in RAM - its Random Access Memory.
RAM is really just a place to store numbers: lots and lots of numbers.
Conceptually, what's stored in RAM can be classified in two categories: the instructions which tell the computer what to do, programs, and the stuff that the programs operate on, data. Microsoft Word would be a good example of a program and the document that you're writing might be a good example of data.
But, they're both stored in the same RAM. Windows just keeps track of what's what.
Data Execution is nothing more than getting the computer to treat some data as if it were instructions, telling the computer what to do.
Data Execution Prevention, or DEP, is a way that today's CPUs can actually be instructed to keep that from happening.
It's as simple as that.
Let's look at another example.
Internet Explorer is a program and the web page that you're looking at is data.
A malicious web page designer could hide the instructions that make up a virus within a web page. Your browser would then download that page when you view it, resulting in the virus being on your machine. Even then, it's relatively benign; as I said, it's in Internet Explorer's data and not being treated as if it were a program.
Unless, of course, there is a vulnerability.
A vulnerability that allows that web page designer to suddenly get Windows to treat all of that data as if it really were a program.
And suddenly, you have a virus running on your machine.
Regardless of any vulnerabilities that might be in the software, DEP prevents this entire class, this entire concept of malware infestation.
Here's another problem: some programs are written to assume that they can load up some data, and then treat that data as a program. In other words, they rely on Data Execution by design. In fact, early versions of Windows did this.
Naturally, for all of the security reasons that you can imagine, that is now highly discouraged.
And yet, some software like that might still exist.
You have two choices:
You can turn off DEP completely.
You can add an exception for the specific program that seems to be having DEP errors.
How do I turn off Data Execution Prevention errors? has some more details on how, but I need to point out a few things:
Frequently, exceptions don't work. For example, while the error is being reported as Windows Explorer, my experience is that it's possible that the actual error is elsewhere. Perhaps it's at a lower level which can't be properly identified and Windows is just telling us the best that it can.
Today, on current systems, it's much safer to assume that a DEP report is the result of malware or a software misconfiguration than the blocking of legitimate behavior. Adding an exception is probably not the right thing to do, as it's not removing the error, just allowing it to continue and perhaps get worse.
Turning off DEP completely is a bad idea simply because malware still exists that tries to use what DEP is protecting you from.
Bottom line: rather than turning DEP off as a knee-jerk reaction, treat the report as the software failure that it most likely is and try to fix that instead.
The error message is not lying - it really is "To help protect your computer...".