Mission

When creating software for the desktop, there are a lot of moving parts.  As we develop GiftWorks we are constantly on the lookout for changes that might affect its performance.  These changes may be in the Windows operating system, Internet Explorer, or other 3rd party controls.  Recently we discovered a security change in Windows XP (and other Microsoft operating systems) that can adversely affect GiftWorks.

Windows XP Service Pack 2 introduced a new security feature called Data Execution Prevention (DEP).

This excerpt comes from Microsoft:

Data Execution Prevention (DEP) is a set of hardware and software technologies that perform additional checks on memory to help protect against malicious code exploits.

Hardware-enforced DEP marks all memory locations in a process as non-executable unless the location explicitly contains executable code. One kind of malicious code attacks tries to insert and run code from non-executable memory locations. DEP helps prevent these attacks by intercepting them and raising an exception.

This technology increases security but has also been causing problems for users running GiftWorks.  Over the past few weeks, we have had a number of users who have experienced crashes while using Giftworks.

There are two settings for DEP which can be found by:

  1. Open the Control Panel
  2. Double click the System icon
  3. Click on the Advanced tab
  4. In the Performance section, click the Settings button
  5. Click on the Data Execution Prevention tab


DEP is always turned on, the difference is whether or not DEP is applied to Windows programs and services only OR whether it applies to all programs and services that are run on your machine.  By default, DEP is only turned on for essential Windows programs and services.

Upon investigation, we have discovered that users who have had problems had the DEP setting "Turn on DEP for all programs...".

Honestly, I do not know what is turning the setting on for all programs.  It is possible that users manually turn on DEP for all programs.  It is also possible that new machines are being shipped with DEP turned on for all programs and services.

The good news is that it is possible to have DEP turned on for all programs and services and still run GiftWorks.  DEP has an "Opt-out" feature that allows you to designate programs that should not be included in the DEP protection.  This can be accomplished by adding GiftWorks to the list of exceptions for DEP.  The GiftWorks program file can typically be found in your \program files\mission research\giftworks\system\ folder.  Add the giftwks.exe file to the list of exceptions.

In a future release, we will look into allowing GiftWorks to run with DEP...for now, the opt-out method will allow GiftWorks to be used without incident.

Comments [133] Trackback Tuesday, November 14 2006 #