Data Execution Prevention, or DEP, is a new processor-level technology used in Windows XP Service Pack 2 and up to prevent unauthorized programs such as viruses from running. DEP is available on the AMD Athlon 64 chipsets, as well as newer Intel Xeon and Celeron-D processors.
DEP works by marking certain areas of memory as being non-executable. Data can be read or written to such a block of memory, but not executed.
While this does preemptively block some viruses from running, it can also prevent certain legitimate programs from installing or running correctly as well. Why? Some components or kernel-level services for older software that have not yet been updated to work properly with SP2 (or which are legacy programs that require backwards compatibility) may experience this problem until they are updated.
Typically, the offending program will deliver errors during the installation process that components could not be registered correctly, or may report the rather context-less error, "Contact the vendor to see if an updated version of this program is available."
If the problem lies with getting the needed components to install, there is a workaround: disable DEP before the install, and then re-enable it afterwards. To do this, edit the BOOT.INI file for the system and look for the entry in [operating systems] that controls the OS installation. Locate the switch named /NoExecute and make a note of its current setting; it will either
If the program in question is still being ornery and having DEP running is not crucial, you can leave it off. Alternatively, you can designate specific programs as being safe to execute by editing the list in the Data Execution Prevention tab, found in My Computer | Properties | Advanced | Performance Options.
Serdar Yegulalp is the editor of the Windows 2000 Power Users Newsletter. Check out his Windows 2000 blog for his latest advice and musings on the world of Windows network administrators -- please share your thoughts as well!
This was first published in December 2004