I'm currently porting an application from S60 2nd to S60 3rd. I made all the changes needed for the application to comply with the new "guidelines" (i.e. code compiling on GCCE, data caging etc.) but I am having a problem when I try to run the application on device.
The installation works fine, but when I try to start the application I get a Menu: System error (-20) after a few seconds, without the possibility to see even the first screen.
The only capability I set for the application was ReadUserData. The fact is that I also write some file contents (but not at the start of the application), but the files are located in resource\apps\myApp, where they say I have the right to write my own data (and also the path of the resources that CEikonEnv::Static()->EikAppUi()->Application()->ResourceFileName() is returning).
The other problem is that I use a dll that I could not copy with the installer but I managed to copy it manually in the sys\bin folder.
From what I've seen, the main generally allowed capabilities for a developer certificate includes ReadUserData, WriteUserData, ReadDeviceData, WriteDeviceData (I doubt the last is allowed since I get a "Application access not granted" when I install the sis).
So, the main problem would be the capabilities that I should declare and the paths that are allowed to my application to write any file during run.
Can anyone give me a clue?