×

Discussion Board

Results 1 to 4 of 4
  1. #1
    Super Contributor
    Join Date
    Dec 2005
    Location
    England,UK
    Posts
    1,600

    Q: How do I Make a .sis file automatically from Carbide.c++ Answer:Given here below

    Q: How do I Make a .sis file automatically from Carbide.c++ A: Use this procedure
    ----------------------------------------------------------------------------------
    Author: Jim Gilmour 19/07/06 19th July 2006 Initial Version amended 24july to show use of pkg files

    Tha aim here is to load the products and build the "HelloWorldBasic" example into a .sis file automatically


    Replace the original Symbian 9.1, (s60 3rd ED) with the \Symbian\9.1\S60_3rd_MR, the 3rd edition
    Maintenance Release register with Nokia and the install Carbide C++.

    The first question asked is to set the workspace path. This MUST NOT contain any spaces for example
    "c:\SymbianWorkspace".

    Now Go to File menu and select "Import".
    Browse to "C:\Symbian\9.1\S60_3rd_MR\S60Ex\helloworldbasic\group". Select the "BLD.INF"
    Click/tick the "Copy source files into workspace".Click Next and click "Finished".
    The project is now displayed in the left window.
    Select the "HelloWorldBasic" Right Click and select properties.
    From the Configuration drop down select "S60. 3.0 (GCCE) Phone Release". and Click "Apply".
    From Project Menu Select "Build All" to test full succesful build.Ignore warning about CTAG for this simple program
    This has created file HelloWorldBasic.exe

    Take the new patched .pkg file given below "HelloWorldBasic_gcce.pkg"
    Click Import -->File and select HelloWorldBasic_gcce.pkg
    From Project Menu Select "Build All" to test full succesful build.
    and compare output with the log file given in the posting with the new patched .pkg file given below "HelloWorldBasic_gcce.pkg"

    To make sure the s60 command line version will work copy new patched .pkg "HelloWorldBasic_gcce.pkg" to C:\Symbian\9.1\S60_3rd_MR\S60Ex\helloworldbasic\sis.


    Jim
    Last edited by jimgilmour1; 2006-07-25 at 10:32.

  2. #2
    Nokia Developer Expert
    Join Date
    Mar 2004
    Posts
    98

    Re: Q: How do I Make a .sis file automatically from Carbide.c++ Answer:Given here below

    Have you tried just adding the .pkg file to the project and then building it?

  3. #3
    Super Contributor
    Join Date
    Dec 2005
    Location
    England,UK
    Posts
    1,600

    Re: Q: How do I Make a .sis file automatically from Carbide.c++ Answer:Given here below

    Hi msalmo,
    Your input is much appreciated. I added the .pkg as you said to the HelloWorldBasic project.
    Using Import ->File. I removed my script and rebuilt the project.
    This still failed however and I found out this was due to the code using
    "..\..\..\" which is an MSDOS command to go up 3 directory levels from the current.


    The advantage of using .pkg is the .sis file is now automatically signed with a private key. see last 3 lines of the log below

    This was fixed by putting "$(EPOCROOT)\" which corrected the errors.
    I have also removed the back/restore function as I dont believe its relevant to such a simple program and it did not work.

    Here is the full corrected version of the file called "helloworldbasic_gcce.pkg"

    -------------------------------------------------------------------------
    PHP Code:
    HelloWorldBasic.pkg
    ;
    ;
    Language standard language definitions
    &EN

    standard SIS file header
    #{"HelloWorldBasic"},(0xA000017F),1,0,0

    ;Localised Vendor name
    %{"Vendor-EN"}

    ;
    Unique Vendor name
    :"Vendor"

    ;Supports Series 60 v 3.0
    [0x101F7961], 000, {"Series60ProductID"}

    ;
    Files to install
    "$(EPOCROOT)\epoc32\release\gcce\urel\HelloWorldBasic.exe"                 -"!:\sys\bin\HelloWorldBasic.exe"
    "$(EPOCROOT)\epoc32\data\z\resource\apps\HelloWorldBasic.rsc"              
    -"!:\resource\apps\HelloWorldBasic.rsc"
    "$(EPOCROOT)\epoc32\data\z\private\10003a3f\import\apps\HelloWorldBasic_reg.rsc"  
    -"!:\private\10003a3f\import\apps\HelloWorldBasic_reg.rsc"
    "$(EPOCROOT)\epoc32\data\z\resource\apps\helloworldbasic_aif.mif"        
    -"!:\resource\apps\helloworldbasic_aif.mif"
    "$(EPOCROOT)\epoc32\winscw\c\private\A000017F\hello.txt"                
    -"!:\private\A000017F\hello.txt" 
    For those of you who need to see the log os a successful build using this updated this is the truncated log from console window.
    for S60 3rd ed MR

    'Building target: C:/Symbian/9.1/S60_3rd_MR/epoc32/release/GCCE/UREL/HelloWorldBasic.exe'
    'Invoking: Post linker'
    elf2e32.exe --targettype=EXE --libpath="C:\Symbian\9.1\S60_3rd_MR\epoc32\release\ARMV5\LIB" --capability=NONE --uid1=0x1000007a --uid2=0x100039ce --uid3=0xa000017f --sid=0xa000017f --vid=0x00000000 --elfinput="HelloWorldBasic.sym" --output="C:/Symbian/9.1/S60_3rd_MR/epoc32/release/GCCE/UREL/HelloWorldBasic.exe" --linkas=HelloWorldBasic{000a0000}[0xa000017f].exe
    'Finished building target: C:/Symbian/9.1/S60_3rd_MR/epoc32/release/GCCE/UREL/HelloWorldBasic.exe'
    ' '
    'Building file: helloworldbasic_gcce.pkg'
    'Invoking: CreateSis (Installation File Generator)'
    createsis create -v -pass DefaultPassword "helloworldbasic_gcce.pkg" C:/SymbianWorkspace/HelloWorldBasic/HelloWorldBasic.sis
    makesis "helloworldbasic_gcce.pkg" "helloworldbasic_gcce-tmp.SIS"
    Processing helloworldbasic_gcce.pkg...
    Created helloworldbasic_gcce-tmp.SIS
    Extracting info. from helloworldbasic_gcce.pkg ...
    No key/cert found in helloworldbasic_gcce.pkg.
    making key-gen.key, cert-gen.cer ...
    makekeys -cert -password "DefaultPassword" -dname "CN=HelloWorldBasice6365b615e75d5dd6af5ec27d603434a0f2b34aff7e08610bd261e86319c657bade8b2841cdc82e60a3abbdc738bd35330ea OR=Vendor-EN" key-gen.key cert-gen.cer
    Generating private key...
    Created certificate cert-gen.cer
    A DSA private key has been generated with a keylength of 1024 bits
    Signing helloworldbasic_gcce-tmp.SIS with cert-gen.cer and key-gen.key -> C:/SymbianWorkspace/HelloWorldBasic/HelloWorldBasic.sis
    signsis -s "helloworldbasic_gcce-tmp.SIS" "C:/SymbianWorkspace/HelloWorldBasic/HelloWorldBasic.sis" "cert-gen.cer" "key-gen.key" "DefaultPassword"
    'Finished building: helloworldbasic_gcce.pkg'
    Thanks for all your help
    Jim
    Last edited by jimgilmour1; 2006-07-24 at 22:49.

  4. #4
    Regular Contributor
    Join Date
    Jun 2007
    Posts
    86

    Re: Q: How do I Make a .sis file automatically from Carbide.c++ Answer:Given here below

    Quote Originally Posted by jimgilmour1
    Q: How do I Make a .sis file automatically from Carbide.c++ A: Use this procedure
    ----------------------------------------------------------------------------------
    Author: Jim Gilmour 19/07/06 19th July 2006 Initial Version amended 24july to show use of pkg files

    Tha aim here is to load the products and build the "HelloWorldBasic" example into a .sis file automatically


    Replace the original Symbian 9.1, (s60 3rd ED) with the \Symbian\9.1\S60_3rd_MR, the 3rd edition
    Maintenance Release register with Nokia and the install Carbide C++.

    The first question asked is to set the workspace path. This MUST NOT contain any spaces for example
    "c:\SymbianWorkspace".

    Now Go to File menu and select "Import".
    Browse to "C:\Symbian\9.1\S60_3rd_MR\S60Ex\helloworldbasic\group". Select the "BLD.INF"
    Click/tick the "Copy source files into workspace".Click Next and click "Finished".
    The project is now displayed in the left window.
    Select the "HelloWorldBasic" Right Click and select properties.
    From the Configuration drop down select "S60. 3.0 (GCCE) Phone Release". and Click "Apply".
    From Project Menu Select "Build All" to test full succesful build.Ignore warning about CTAG for this simple program
    This has created file HelloWorldBasic.exe

    Take the new patched .pkg file given below "HelloWorldBasic_gcce.pkg"
    Click Import -->File and select HelloWorldBasic_gcce.pkg
    From Project Menu Select "Build All" to test full succesful build.
    and compare output with the log file given in the posting with the new patched .pkg file given below "HelloWorldBasic_gcce.pkg"

    To make sure the s60 command line version will work copy new patched .pkg "HelloWorldBasic_gcce.pkg" to C:\Symbian\9.1\S60_3rd_MR\S60Ex\helloworldbasic\sis.


    Jim

    请问你这个IDE是carbide.c++v1.1 s60_3rd 吗

Similar Threads

  1. How to build GCCE target
    By dsiorpaes in forum Symbian Tools & SDKs
    Replies: 5
    Last Post: 2008-09-18, 06:54
  2. .jar and .sis unrecogonised file format on N6230
    By vinaydeep in forum General Development Questions
    Replies: 6
    Last Post: 2005-04-21, 17:35
  3. Replies: 2
    Last Post: 2002-12-03, 00:49
  4. Recogniser DLL in a .sis file blew away my 7650!
    By colinward in forum Symbian
    Replies: 1
    Last Post: 1970-01-01, 02:00

Posting Permissions

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