MainBoss Basic is giving me a data execution prevention error (or stops executing mysteriously). How do I deal with this?
New computer processors can have a feature called Data Execution Prevention (also called DEP/NX). This feature is based on a rigorous division of computer memory into "code" (machine instructions) and "data". If the processor thinks that a particular location in memory should contain data, the processor refuses to execute any instructions that are actually there. DEP/NX facilities may be used by most recent versions of Windows. Depending on your system settings, DEP/NX checking may or may not be turned on.
Unfortunately, DEP/NX may label some legitimate MainBoss instructions as data rather than code. If so, some versions of MainBoss will immediately stop executing.
-
If you're lucky, Windows will issue an error message describing what happened:
-
If you aren't lucky, Windows will simply stop executing MainBoss without telling you what went wrong.
In this case, Windows 2003 Server will sometimes make an entry in the Event Log along the lines of:
Faulting application MBoss.exe, version 2.9.5.0, faulting module unknown, version 0.0.0.0, fault address 0x00fd8168. For more information, see Help and Support Center at https://go.microsoft.com/fwlink/events.asp.
You might even get a "random" error message that doesn't reflect what actually happened.
The easiest way to fix this problem is to install the latest version of MainBoss. The problem was corrected as of MainBoss 2.9, Update 7. |
To correct the problem in earlier versions of MainBoss, you must tell Windows to ignore DEP/NX when running MainBoss. You start like this:
- If you got the DEP error message shown above, click "Change Settings".
-
If you didn't get a DEP error message, follow these steps:
-
In Vista:
- From the standard Windows Start menu, open the Control Panel.
- Go to "Performance Information and Tools".
- Click "Advanced Tools".
- Click "Adjust the appearance and performance of Windows".
- In the Performance Options window, select the "Data Execution Prevention" section.
-
In Vista:
Go to the "Data Execution Prevention" section of this window.
You should see something like this:
(If you don't have DEP/NX hardware, this screen will tell you so.
In that case, you won't have this kind of problem.)
Now follow these steps.
- Click "Turn on DEP for all programs and services except those I select:".
- Click the "Add" button.
- Windows will open a standard "file open" window. Use this to locate the mboss.exe program for MainBoss (e.g. C:\Program Files\MainBoss\2.9\MBoss.exe). Specify this file.
- Keep clicking OK until you've closed all windows.
The above steps tell Windows not to do DEP checking in the MainBoss program.