×

Discussion Board

Page 1 of 2 12 LastLast
Results 1 to 15 of 21
  1. #1
    Regular Contributor
    Join Date
    Sep 2006
    Posts
    101

    Install a sis file on a N80 phone

    Hello everyone,

    I know that the topic of installing a sis file to a device was discussed at lot at this forum but I read a lot and I tried a lot but nothing works.

    Therefore this request is my last hope :-(.

    So, I have a N80 phone (Symbian OS 9.1, S60 3rd edition) and every time when I try to install my sis file the error "unable to install" occurs.

    So what did I do:

    1. Created the key

    Code:
    makekeys -cert -dname "CN=Name OR=Organisation Test.key Test.cer
    2. Used this key to apply for my DevCert.

    I need the DevCert because I need the capabilities for Location, LocalServices, ReadUserData and WriteUserData!

    Therefore I used the Symbian Developer Certificate Request Tool.
    - I chose a name: TestCert.csr
    - I add the created key.
    - I used the IMEI which I got when I dialed *#06#

    After finsihing the request I got the TestCert.csr.

    3. I uploaded the TestCert.csr to the symbiansigned website.
    4. I downloaded the developer certificate (TestCert.cer).

    5. I applied for some protected UIDs at the symbiansigned website because I read that I have to use protected UIDs if I use a sis which is signed with a DevCert.

    6. I replaced the old UID3 with the new one at my mmp file

    Code:
    /*
    * ==============================================================================
    *  Name        : GPS_App.mmp
    * ==============================================================================
    */
    
    TARGET          GPS_App.exe
    TARGETTYPE      exe
    UID             0x100039CE 0x20009966
    
    SECUREID        0x20009966
    
    EPOCSTACKSIZE   0x5000
    CAPABILITY      Location LocalServices ReadUserData WriteUserData
    
    VENDORID        0
    
    SOURCEPATH ..\src
    SOURCE GPS_App.cpp
    SOURCE GPS_AppApplication.cpp
    SOURCE GPS_AppAppUi.cpp
    SOURCE GPS_AppCardData.cpp
    SOURCE GPS_AppCardView.cpp
    SOURCE GPS_AppCardViewContainer.cpp
    SOURCE GPS_AppDocument.cpp
    SOURCE GPS_AppEngine.cpp
    SOURCE GPS_AppEngineBase.cpp
    SOURCE GPS_AppFileEngine.cpp
    SOURCE GPS_AppFileFormatData.cpp
    SOURCE GPS_AppGraphicEngine.cpp
    SOURCE GPS_AppPositionEngine.cpp
    SOURCE GPS_AppSettingsCheckbox.cpp
    SOURCE GPS_AppSettingsData.cpp
    SOURCE GPS_AppSettingsView.cpp
    SOURCE GPS_AppSettingsViewContainer.cpp
    
    // UI Resources
    SOURCEPATH          ..\data
    START RESOURCE      GPS_App.rss
    HEADER
    TARGETPATH          resource\apps
    LANG                SC
    END
    
    // Application registration info for installer
    SOURCEPATH          ..\data
    START RESOURCE      GPS_App_reg.rss
    #ifdef WINSCW
    TARGETPATH 	  \private\10003a3f\apps
    #else
    TARGETPATH 	  \private\10003a3f\import\apps
    #endif
    END
    
    USERINCLUDE     ..\inc
    SYSTEMINCLUDE   \epoc32\include
    
    LIBRARY bitgdi.lib
    LIBRARY fbscli.lib
    LIBRARY aknicon.lib
    LIBRARY lbs.lib
    LIBRARY eikctl.lib
    LIBRARY eikcoctl.lib
    LIBRARY insock.lib
    LIBRARY eexe.lib
    LIBRARY euser.lib
    LIBRARY apparc.lib
    LIBRARY cone.lib
    LIBRARY eikcore.lib
    LIBRARY avkon.lib
    LIBRARY commonengine.lib
    LIBRARY efsrv.lib
    LIBRARY estor.lib
    
    LANG    SC
    // End of File
    7. I replaced the old UID3 with the new one at my pkg file

    Code:
    ; GPS_App.pkg
    ;
    ;Language - standard language definitions
    &EN
    
    ; standard SIS file header
    #{"GPS_App"},(0x20009966),1,0,0
    
    ;Localised Vendor name
    %{"Vendor-EN"}
    
    ;Unique Vendor name
    :"FHA"
    
    ;Supports Series 60 v 3.0
    [0x101F7961], 0, 0, 0, {"Series60ProductID"}
    
    ;Files to install
    ;You should change the source paths to match that of your environment
    ;<source> <destination>
    "C:\Symbian\9.1\S60_3rd\Epoc32\release\winscw\udeb\GPS_App.exe"        -"!:\sys\bin\GPS_App.exe"
    "C:\Symbian\9.1\S60_3rd\Epoc32\release\winscw\udeb\z\resource\apps\GPS_App.rsc"                 -"!:\resource\apps\GPS_App.rsc"
    "C:\Symbian\9.1\S60_3rd\Epoc32\release\winscw\udeb\z\private\10003a3f\apps\GPS_App_reg.rsc"     -"!:\private\10003a3f\import\apps\GPS_App_reg.rsc"
    "C:\Symbian\9.1\S60_3rd\Epoc32\release\winscw\udeb\z\resource\apps\GPS_App.mif"                 -"!:\resource\apps\GPS_App.mif"
    ;"C:\Symbian\9.1\S60_3rd\Epoc32\release\winscw\udeb\z\resource\apps\Maps.mbm"        -"!:\resource\apps\Maps.mbm"
    ;"C:\Symbian\9.1\S60_3rd\Epoc32\winscw\c\private\20009966\settings.dat"		    -"!:\private\20009966\settings.dat"
    ;"C:\Symbian\9.1\S60_3rd\Epoc32\winscw\c\private\20009966\map1.dat"		    -"!:\private\20009966\map1.dat"	
    ;"C:\Symbian\9.1\S60_3rd\Epoc32\winscw\c\private\20009966\map2.dat"		    -"!:\private\20009966\map2.dat"
    
    ;required for application to be covered by backup/restore facility 
    "C:\Symbian\9.1\S60_3rd\Epoc32\winscw\c\private\20009966\backup_registration.xml"	-"!:\private\20009966\backup_registration.xml"
    8. I replaced it at the ..._reg.rss

    Code:
    UID2 KUidAppRegistrationResourceFile
    UID3 0x20009966
    9. And I replaced it at my ...Application.cpp file

    Code:
    const TUid KUidGPS_AppApp = { 0x20009966 };
    10. I created and signed the sis with

    Code:
    createsis create -cert TestCert.cer -key Test.key GPS_App.pkg
    11. I tried to install this sis on the N80 => "unable to install"

    So can anyone tell me what I did wrong?
    I'm really depressed.
    I'm really thankful for any kind of tipp/hint/suggestion .....

    So thanks in advance.

  2. #2
    Super Contributor
    Join Date
    Mar 2003
    Location
    Finland
    Posts
    9,552

    Re: Install a sis file on a N80 phone

    Did you change the setting menu|Tools|App.mgr|Options|Settings|Software installation on the phone to "All"?

  3. #3
    Regular Contributor
    Join Date
    Sep 2006
    Posts
    101

    Re: Install a sis file on a N80 phone

    Yes I did.

    I read somewhere that I have to install the created DevCert (at the certificate manager) on the device.
    Is this true?

    And if yes, how can I do this?

  4. #4
    Nokia Developer Champion
    Join Date
    Jul 2004
    Posts
    2,015

    Re: Install a sis file on a N80 phone

    Some points:
    - All those capabilities are user capabilities, so if the device is configured such that the user can grant user capabilites then it doesn't need to be signed in the first place

    - You have got the point of protected uids the wrong way round. If an application uses a protected uid then the sis has to be signed. Not the reverse.

    - You do not have to install a dev cert onto the device.

    (Where are you reading all this stuff, what exactly does it say?)

    - Remember that a dev cert is for a *Specific* device and won't work if you try to install on a different device

    - make sure the date of the device is correct otherwise a certificate could think its expired

  5. #5
    Super Contributor
    Join Date
    Mar 2003
    Location
    Finland
    Posts
    9,552

    Re: Install a sis file on a N80 phone

    And then go throigh Antony Pranata's checklist:
    http://www.antonypranata.com/article...d_signing.html

  6. #6
    Regular Contributor
    Join Date
    Sep 2006
    Posts
    101

    Re: Install a sis file on a N80 phone

    @hotcheese:

    I know that I don't need a DevCert for LocalServices, WriteUserData and ReadUserData.
    But I need a DevCert for the Location capability.

    I only have the N80 so there is no way to use another device :-).
    I used the IMEI (serial number) I got when I dialed *#06#. But the same number is in the inside of my phone. The only difference is:
    *#06# => 355674233...
    inside => 3556/74.. (here slashes)
    When I requested the DevCert I used the version without slashes.

    The "installation of the DevCert" I read somewhere at the forum. There was also a link to a external document where it was described how to do this. But it was described for the nokia 9500 communicator. So ....

    So if I have to use the DevCert then do I need the protected or the unprotected UIDs?

    @petrib:

    Thanks for the hint with Antony Pranata's checklist, but I already read it. And after that I hadn't a clue, too :-(.

  7. #7
    Nokia Developer Champion
    Join Date
    Jul 2004
    Posts
    2,015

    Re: Install a sis file on a N80 phone

    Location is a user capability (unless it has been changed on that device but I would be very surprised if that is the case). User are supposed to be able to grant user capabilites at installation time, hence their name. Have you seen it documented somewhere that Location requires signing?

    Its not a case of 'if its signed what uids do I need', its a case of 'if you are using protected ids then the sis has to be signed'. (Of course you can still sign apps with user capabilites if you don't want the user notified that they have to grant them).

    I don't know enough about the details of the dev cert to know if the slashes etc. are important.
    Last edited by hotcheese; 2007-02-05 at 20:43.

  8. #8
    Regular Contributor
    Join Date
    Sep 2006
    Posts
    101

    Re: Install a sis file on a N80 phone

    I'm quite sure that Location needs the DevCert signing.

    It's a really special case. I had a chat with a symbian consultant about this point because I have to realise my GPS application in the course of my diploma theses and I was afraid that I have to pay to get a certificate.

    You know students as well as universities don't have money .


    At the moment I make some tests with self-signing a simple application which doesn't need any capabilities. The strange thing is that I still get an error message. But this time I get "Unable to install a protected application from an untrusted supplier". I read at the Antony Pranata's checklist that I have to use unprotected UID. And I use a UNPROTECTED Uid. So I'm really stumped.

    I think I make in every case an essential fault .... but what is my problem :-( ????

  9. #9
    Nokia Developer Champion
    Join Date
    Jul 2004
    Posts
    2,015

    Re: Install a sis file on a N80 phone

    Have you made sure you have rebuilt everything using the unprocted uid/s?
    If the SECUREID is specified its actually that has to be unprotected (the UID is used as the SID if the SID isn't specified).

  10. #10
    Regular Contributor
    Join Date
    Sep 2006
    Posts
    101

    Re: Install a sis file on a N80 phone

    Yes.

    I really don't have any clue.

    I have a stupid question:
    I don't need the mmp file in the sis file creation process?

    I think all the time that I maybe forgot a special step or something similar! I don't know. It's really annoying, because the problem can be caused by anything :-(.

    Do you know if Carbide.c++ causes any problems? Maybe the problems start with the development enviroment?!

  11. #11
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,671

    Re: Install a sis file on a N80 phone

    Quote Originally Posted by hotcheese
    Location is a user capability (unless it has been changed on that device but I would be very surprised if that is the case). User are supposed to be able to grant user capabilites at installation time, hence their name. Have you seen it documented somewhere that Location requires signing?
    Open the SDK Help, search for "Assigning Capabilities", there it is.

    Unfortunately I cannot really help, but you are actually trying to install Windows-executables, it could be a problem.

  12. #12
    Regular Contributor
    Join Date
    Sep 2006
    Posts
    101

    Re: Install a sis file on a N80 phone

    Thanks wizard_hu for your help.

    I read the article "Assigning capabilities" in the SDK help.
    The following section is the point of interest, I think.

    Capabilities required by the application are defined at the design phase of the application. The application binaries will include an MMP file, which includes information of the capabilities that the application uses. At the installation phase the installer compares the list of capabilities in the .mmp file with the capabilities that are available through signing. If the root certificate is allowed to grant the required capabilities, the installation can continue.
    The problem is that I don't understand exactely what that means or what I have to do/change.
    Can anyone tell me?

  13. #13
    Registered User
    Join Date
    Dec 2006
    Posts
    2,280

    Re: Install a sis file on a N80 phone

    Hi kaiten-sushi,

    wizard_hu_ has actually just spotted the important thing to solve your problem!

    You are trying to install the winscw binaries for the emulator to the phone! The binary format for the files is completely different so the installer will almost certainly fail the capability check on the .exe file.

    First you need to make sure you are building the GCCE binary (either UDEB or UREL) and then you need to change your package file so that it actually includes the binary you just built rather than always the winscw one. The line in the package file usually looks like this:
    "$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\MyApp.exe" -"!:\sys\bin\MyApp.exe"
    I think that everything else you've done is correct, at least I can't spot any other mistakes.

    For your unprotected UID installation (with self signing, no devcert?) getting the message "Unable to install a protected application from an untrusted supplier" means that you are using a protected UID somewhere - you may not have changed the UID everywhere you need to?

    Hope that helps,
    Sorcery

  14. #14
    Regular Contributor
    Join Date
    Sep 2006
    Posts
    101

    Re: Install a sis file on a N80 phone

    Hi sorcery-ltd,

    thanks for your hints.

    But I have some questions:

    1. How can I make sure that I really build the GCCE binary?

    2. If I change the pkg file by including the

    "$(EPOCROOT)\Epoc32\release\$(PLATFORM)\$(TARGET)\GPS_App.exe" -"!:\sys\bin\GPS_App.exe"
    then I always get an I/O error if I try to run the makesis.
    So how can I avoid this? From which location do I have to build the sis file?

    3. Do I need somehow the mmp file?

    Thanks in advance.

  15. #15
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,671

    Re: Install a sis file on a N80 phone

    Quote Originally Posted by kaiten-sushi
    Thanks wizard_hu for your help.

    I read the article "Assigning capabilities" in the SDK help.
    Sorry, you are perfectly right in saying Location cannot be used with self-signing. The reference of SDK Help is meant to Hotcheese.

    Since you have not specified the environment you use, (PLATFORM), (BUILD) magic might not work for you. However a simple
    Code:
    "C:\Symbian\9.1\S60_3rd\Epoc32\release\gcce\urel\GPS_App.exe"-"!:\sys\bin\GPS_App.exe"
    should do the job. Since you have a .mmp file, you should be able to compile from command-line at least for the device. In your group folder (or wherever bld.inf and GPS_App.mmp are):
    Code:
    bldmake bldfiles
    abld build gcce urel
    and then you can try the makesis-signsis combo.

Similar Threads

  1. Replies: 18
    Last Post: 2009-01-13, 17:02
  2. Tool to transfer sis file to phone?
    By rkuppala in forum Symbian
    Replies: 4
    Last Post: 2003-05-06, 00:04
  3. nokia 7210 modem via IR doesn't work !
    By oussamaaiadi in forum PC Suite API and PC Connectivity SDK
    Replies: 1
    Last Post: 2003-03-06, 10:46

Posting Permissions

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