Flash Lite stub doesnt launch from memory card (System Error) (FIXED)

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

 

RProcess self; //an instace of RProcess
TBuf<200> myPath;
/*Now, copy the first 2 characters of our app complete path i.e drive letter*/
myPath.Copy(self.FileName().Left(2));
/*Append the incomplete path to the drive letter*/
myPath.Append(KStubFlashContent);
/*Now,we have a complete path, just copy it  iContentFileName*/
FlashUIConfig config;

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)

Advertisements

10 Responses to “Flash Lite stub doesnt launch from memory card (System Error) (FIXED)”

  1. Ranco Says:

    Thanks. But what you wan to use KuneriLite’s packager? Then you’re doomed?
    Ranco

    • sajisoft Says:

      Well! I tested few samples of kuneri lite listed here : http://wiki.kunerilite.net/index.php?title=Tester_applications
      and i m able to reproduce the “System Error – 1” . But i really dont know if they fix it in the newer releases. Moreover, developers like me who are interested in making Hybrid Applications with Flash, create their own stub instead of using a ready made solutions. But for pure flash lite developers it is good to use ready made tools . 🙂

      Best Regards,
      SajiSoft

  2. chall3ng3r Says:

    Thanks Sajid for sharing this information.

    I’ve been detecting my FL stub applications’ installed path for long time and also implemented it in SWF2Go, Intelli-Launch Technology 😉

    Your sample code snippet is great, and if anyone trying to make custom FL stub application, I’d highly recommend him using this.

    // chall3ng3r //

  3. sajisoft Says:

    Thanks for the feedback Faisal Bhai 🙂 .

  4. Simon Says:

    Hello,

    thanks for the snippet.
    I have another problem. When installing Flash Stub application on memory card, my flash application doesn’t show any images loaded from private folder of the application. If the application is installed on phone memory, everything is working well.

    Regards,
    Simon

    • sajisoft Says:

      If u r using relative paths than again i think it is the issue of incorrect completion of path by Flash Lite Stub when loadMovie API is called. The workaround which comes instantly in my mind, is :
      1. Detect the drive letter at the initialization of ur stub.
      2. Write it into a text file on C:\ like C:\mystub.txt
      3. Now, inside the swf use absolute paths instead of relative paths and read out the drive letter from C:\mystub.txt using LoadVars.
      4. To use absolute path u have to give path like this :
      loadMovie(mydrv+”private\\EE11214A\\” + “myswf.swf”);
      where EE11214A MUST BE replaced by ur stub UID. 0r you can also find out ur app UID at the initialization of stub and then write it to the same mystub.txt along with drive letter.

      Best Regards,
      SajiSoft

      • Simon Says:

        I have tried all of these before, but no luck. I think there must be something else, because some images are loaded from local http server http://127.0.0.1:8888 and the same result when installing on memory card.

        BR,
        Simon

  5. Simon Says:

    Another interesting thing is, that if swf is lunched standalone from file-manager on the device (without symbian stub application), all images with absolute paths are shown without problems. Also images from local server are shown correctly.

    I believe there is something wrong with stub container.

    BR,
    Simon

  6. Simon Says:

    Hi,

    Very interesting thing is if the application is first installed on device memory (c:) and than reinstalled on memory card, everything is working well.

    BR,
    Simon

  7. Roman Age Says:

    Hi Sajid,

    I found the exact same problem when using Carbide C++ to package the SIS file, and failed the OVI QA once for that reason, but managed to fix it by adding the drive letter in several places in the pkg file.
    Anyway you are using a different method to create your Flash Stub, but the problem is the same.
    Thanks.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: