Q: What is DEP (Data Execution Prevention).
A: Data Execution Prevention is a mechanism built into some CPU's to check whether or not the data within a particular chunk of memory is tagged as code or as data before allowing any address in that chunk of memory to be used by the CPU to execute any instructions.
In other words, if an area of memory is tagged as containing *data*, the CPU
will not permit the data in that area to be executed. Instead its supposed to
generate an exception.
This makes it more difficult for a virus to insert code into memory and take
illicit control of a computer.
For DEP to work, the operating system has to support setting it up and making
the memory tag types available for use by the CPU.
Microsoft has added in support for DEP beginning with the following versions
of Windows:
Microsoft Windows Server 2003 Service Pack 1
Microsoft Windows XP Service Pack 2
Microsoft Windows XP Tablet PC Edition 2005
CPU's supporting DEP have been available since at least 2005.
dBASE correctly tags its memory allocations with the proper Data or Code flags
needed for DEP.
However, on some machines, DEP will stop dBASE from successfully loading.
When this occurs, the DEP settings in Windows have to be changed to allow dBASE
to run.
(Individual programs can be excluded from DEP control).
The reason dBASE gets stopped by DEP is that it uses the Borland Language Driver
(contained in BLW32.dll). Our internal tests showed that DEP was triggered when
API calls were made by dBASE or the BDE into the Borland Language Driver.
For step-by-step instructions on configuring DEP to allow dBASE to run click
on the following link:
How to
Configure DEP (Data Execution Prevention) to allow dBASE or dQuery to install
and run on Windows
For more information about DEP please click on the following link:
http://support.microsoft.com/default.aspx?scid=kb;en-us;875352