Problem:
Flash Lite stub doesnt start from memory(SD) card correctly & gives a SYSTEM ERROR when launched but the same stub works fine when installed in phone memory. This problem occurs in some 5800 (yes i m able to reproduce this error in my 5800) , N97 & 5230 phones.
Fix :
First, we should know the problem behind it. According to my observation, this error occurs due to the inappropriate compeletion of path by this API :
_LIT(KStubFlashContent, "\\private\\EE001122\\stub.swf");
FlashUIConfig config;
config.iContentFileName.Copy(KStubFlashContent);
Therefore, one of the easiest fix to this problem is to complete the path by ourselves. It is not a big deal , we just need to find out our application’s installed path & then we extract the first 2 characters from it (i.e the drive letter) and then we append the path of our swf to this drive letter to complete the path ourselves. Let me write the code for it :
_LIT(KStubFlashContent, "\\private\\EE001122\\stub.swf"); //our swf incomplete path
config.iContentFileName.Copy(myPath);
NOTE: I only mention the parts of modification but not the complete code for the creation of a stub. For the complete code, go to this wiki article .
I request all the developers (who are distributing there applications via Flash Lite Stub or creating packing tools) that please, implement this code in your Stub,otherwise, u may think that ur application will works fine with all 5th edition phones but it will not. Thanks for your time 😉
Best Regards,
Sajid Ali Anjum (SajiSoft)