Error installing Series 60 MIDP SDK for Symbian OS
Interesting times ahead; it looks like I will be working on a location aware application for Nokia Series 60 phones. It will involve a lot of interesting technologies like Bluetooth, GPS, Symbian OS, SMS Messaging etc.
I downloaded both the C++ and the Java version of the Series 60 SDK to evaluate which technology is better suited to implement the application. The C++ version installed without problems but "scared" me a bit as the APIs are very different from programming under Windows or Palm. The J2ME version looks a lot simpler but the installation bombed with this nasty message:
The instruction at 0x00421cb0 referenced memory at "0x00000000". The memory could not be "written"
The message rang a bell, but I didn't remember what it was until I rebooted my PC and got this message:
The problem is the Data Execution Protection included in Windows 2003 Service Pack 1. It may be a great technology but it is the second time it gives me problems. The fix is simple:
- Open System Properties, click Start, click Control Panel, and then double-click System.
- Click the Advanced tab and, under Performance, click Settings.
- Click the Data Execution Prevention tab.
- Select “InstallAnywhere Self Extractor“ in the “Turn on DEP for all programs and services except those I select“ list
Run the Java SDK setup another time and it works.
These are the pieces I will use for the application:
- Java 2 Platform, Micro Edition (J2ME)
- Nokia Series 60 SKDs
- Bluetooth GPS by Inter-active information
- Nokia 6630
I cannot wait to get started...
If you wish you can disable DEP at all via boot.ini configuration (As I did).ReplyDelete
You have to put a new parameter in you boot.ini file:
The meaning of each value is below:
This setting is the default configuration. On systems with processors that can implement hardware-enforced data
execution prevention (DEP), DEP is enabled by default for limited system binaries and programs that opt in. With this
option, only Windows system binaries are covered by DEP by default.
DEP is enabled by default for all processes. You can manually create a list of specific programs that don't have DEP
applied by using the System Control Panel applet. You can use the Microsoft Windows Application Compatibility
Toolkit to opt out one or more programs from DEP protection. System-compatibility fixes for DEP do take effect.
This setting provides full DEP coverage for the entire system. All processes always run with DEP applied. No exceptions
are possible. System-compatibility fixes for DEP don't take effect. Programs that have been opted out by using the
Windows Application Compatibility Toolkit still run with DEP applied.
This setting doesn't provide any DEP coverage for any part of the system, regardless of hardware DEP support. The
processor doesn't run in Physical Address Extension (PAE) mode unless the /PAE option is present in the boot.ini file.
Thanks a million!