KNOWLEDGE BASE
Log In    |    Knowledge Base    |    4D Home
Tech Tip: Compiled Application not launching on Windows Vista (DEP)
PRODUCT: 4D | VERSION: 11 | PLATFORM: Win
Published On: December 10, 2008

If you are having trouble running your compiled applications on a windows machine, a probable cause is the DEP feature in Microsoft Windows products.

What is DEP?
Here is the definition of DEP from the Microsoft website:

Data Execution Prevention (DEP) is a set of hardware and software technologies that perform additional checks on memory to help prevent malicious code from running on a system.

Data Execution Prevention (DEP) is a feature that has been implemented in the following windows versions: Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, Windows Server 2003, and Windows Vista.

To learn about the boot parameters available for configuring DEP you can go to: https://msdn.microsoft.com/en-us/library/aa468629.aspx

How can I check if my 4D compiled application might be affected by this feature?
Some symptoms to look for are:
-On the same operating system, an interpreted version of your structure launches fine.
-On the same operating system, a new blank compiled database also is not able to launch.
-On a different operating system (Not listed as having DEP) your compiled application is able to launch.
-The operating system that you are trying to run your compiled application on is listed as having the DEP feature.

So how do I run my compiled application on system that has DEP?
Do the following:
NOTE: You must be logged in as an administrator of the machine to make these changes.
1. Click Start, click Run, type sysdm.cpl, and then click OK.
2. Click the Advanced tab, click Performance, and then click Settings.
3. In Performance Options, click the Data Execution Prevention tab, and then click Add.
4. In the Open dialog box, locate and then click the program. (4D Product you are trying launch)
5. Click Open, click Apply, and then click OK. (You might be prompted to restart your machine).

After making the above changes, your compiled application will not use the DEP feature and should now be able to start.

See Also:
Commented by Timothy Penner on April 15, 2009 at 10:09 AM
The 4D v11 SQL release 4 application itself is now compliant with DEP; so the exclusion is no longer needed if you are using that version. However any plug-ins used must also be compliant with DEP in order to remove the exclusion.

If you are still suffering from DEP restrictions while using 11.4 or higher, it may be possible that a plugin you are using is not DEP compliant.
Commented by Jesse Pina on April 9, 2009 at 9:42 AM
As of 4D v11 SQL Release 4, you can execute your 4D applications under the control of DEP. No additional configuration is required. Please see the 4D v11 SQL Release 4 (11.4) Addendum for more details (http://www.4d.com/support/documentation.html).
Commented by Jesse Pina on February 24, 2009 at 8:32 AM
Data Execution Prevention (DEP) is also a feature of Windows Server 2008.