Discussion Board

Results 1 to 4 of 4
  1. #1
    Registered User
    Join Date
    Jul 2006

    Question .sis file includes Windows executable?

    Ok, first things first.... newbie alert. Well, to Nokia dev anyway.

    I finally got Carbide.C++ working (something was wrong with the missing EPOCROOT environment variable and some path stuff). Create a new C++ "HelloWorld GUI" project with build targets for emulator and ARMI and THUMB.

    Created the emulator sis first and ran it. Then switched to the ARMI build configuration and made a new sis, then put this on my Nokia N90. Installed perfectly fine, no hassles there, but it does not show anywhere on the phone. App is installed, found it with a file explorer, but the ".app" file will not start up.

    A hex view showed that the .app file is actually a Windows executable ("MZ" tag at the beginning), the other .app files are different.

    What have a done wrong here? Why does it keep building a windows executable? Should the .sis be removed completely before constructing a new one, or should I have done a real clean build?

  2. #2
    Super Contributor
    Join Date
    Dec 2005

    Re: .sis file includes Windows executable?

    Hi Gerard,

    I have only just started using Carbide.C++ and found similar problems to you.

    I have written an article called "Q: How do I Make a .sis file automatically from Carbide.c++ Answer:Given here below".


    Update :The problem was in the s60 3rd ed MR file helloworldbasic_gcc.pkg file.
    see new answer in the above thread. Oh yes! auto signs now.

    Thanls to mitts for the very useful answer on how to use package files.

    Last edited by jimgilmour1; 2006-07-20 at 16:55.

  3. #3
    Registered User
    Join Date
    Jul 2006

    Re: .sis file includes Windows executable?

    Hi Jim!

    I managed to figure out the problem. Seems that somehow the .pkg file used for the .sis build for the ARMI build configuration was identical to the .pkg for the emulator, so it was referencing the wrong .app and .rsc files in my Symbian directory.

    I built another application, but this time with only the ARMI build configuration and didn't get the problem.

    The first app didn't run anyway, I created it off a C++ project. The next one I built I made it from the S60 C++ application project and that ran fine.

    There's alot of fiddling needed to get everything running smoothly. Even my Eclipse install at work has been a pain with the CDT C/C++ plugin.

    But, seems I'm getting the hang of it so now I can try a few things.


  4. #4
    Super Contributor
    Join Date
    Sep 2004

    Re: .sis file includes Windows executable?

    Just to clear up a few basics:

    - To run on the emulator, you do not need a .sis, the emulator digs out some build artefacts from the SDK bowels and starts those, check SDK documentation for more of the details.

    - The .sis file is needed/used only for installing on a phone. The .sis file is a collection of "stuff" to be installed on the phone. The .pkg file is a list of things that are collected into the .sis file, so to get a .sis that installs correctly, evidently you need to make sure the package file references the correct build output, eg not the stuff for the emulator. SDK Help will tell you what is the correct content of a .pkg file.

    - If you use Carbide.c++, to choose whether you build for emulator or a phone is defined by selecting a Build target. For the emulator, you build using a WINSCW target, in the case of N90, its "2.8 WINSCW". When you build using a WINSCW target, the build creates/updates windows files that can be run on the emulator; the .sis file is not updated at all, because the build does not update those files that (should) go into the .sis file. After having done a WINSCW build you have a new build for the emulator.

    - To build for the phone, you need a different build target, for N90 eg. "2.8 ARMI". This build updates the binaries and stuff that work on the phone AND it also updates the .sis file with the newly built binaries IF the project contains a .pkg file (you DO NOT need to go through the steps of the cool but unnecessarily complex suggestion by jimgilmour1). If you have created the project from one of the templates, you will have a .pkg file as part of your project; if you import a project you can either separately import the .pkg file using Import -> File system OR you can just create a file called something.pkg. In both cases the .pkg file will automatically be used to create a .sis file according the the contents of the .pkf file, if the content is bad then the .sis file will be bad.

Similar Threads

  1. Replies: 1
    Last Post: 2006-06-23, 05:43
  2. Tips on using NDS 1.1
    By mitts in forum Symbian Tools & SDKs
    Replies: 7
    Last Post: 2006-01-18, 16:07
  3. Replies: 1
    Last Post: 2005-05-20, 10:24

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts