Qt Symbian, embedding 2 exe in 1 sis.

  • Hi,
    I have to implement an application that needs to show custom made alert windows.
    Normally I would just implement a custom widget and display it on the screen, but unfortunately I have to be able to hide my application using QWidget::lower(). Now Having my application hidden with lower, prevents my other top-level windows from showing up on the screen. So as a workaround I thought I could just use QProcess to lunch an executable residing in my applications private folder. This brings me to my question. Is there a way to build multiple executables with one project file and than have them packaged in one sis?

  • Hi,

    what about link in your "master" executable a "slave" executable as a resource, just like an image? In this case, you can save it temporary somewhere, and then launch it with QProcess.


  • That's a good idea but I think this might lead to some trouble with getting the application signed.

  • Why?

    From the point of view of "signing procedure", that's just raw data. I don't think that the signing process will check what raw data contains. Of course I cannot be sure of that, but ...


  • Ok the trick using resources does not work (QProcess can't start the executable), I might be doing something wrong. So does anybody know of a way I could make 1 sis install 2 applications.

  • Have you found a solution for embedding the 2 exe files in 1 sis in QtCreator?

  • Yes I ended up editing the *_template.pkg.
    @; Executable and default resource files
    "/NokiaQtSdk/Symbian/SDK/epoc32/release/$(PLATFORM)/$(TARGET)/first.exe" - "!:\sys\bin\firstr.exe"
    "/NokiaQtSdk/Symbian/SDK/epoc32/data/z/resource/apps/firstr.rsc" - "!:\resource\apps\first.rsc"
    "/NokiaQtSdk/Symbian/SDK/epoc32/data/z/private/10003a3f/import/apps/first_reg.rsc" - "!:\private\10003a3f\import\apps\firstr_reg.rsc"
    "/NokiaQtSdk/Symbian/SDK/epoc32/data/z/resource/apps/first.mif" - "!:\resource\apps\first.mif"
    ; Executable and default resource files for the 2 exe
    "/NokiaQtSdk/Symbian/SDK/epoc32/release/$(PLATFORM)/$(TARGET)/second.exe" - "!:\sys\bin\second.exe"
    "/NokiaQtSdk/Symbian/SDK/epoc32/data/z/resource/apps/second.rsc" - "!:\resource\apps\second.rsc"
    "/NokiaQtSdk/Symbian/SDK/epoc32/data/z/private/10003a3f/import/apps/second_reg.rsc" - "!:\private\10003a3f\import\apps\second_reg.rsc"@

  • Is there a way to specify this in the QTCreator .pro file?

    Since the _template.pkg is constantly rewritten at every build.

  • I would also like to know, if there is a way to specify this in .pro file, if anyone figured it out

  • Software Installation Script(SIS) is the archive file for the Symbian OS for the installation purpose, It may contain .app file or .exe file.

    but 2 .exe in one .sis file is the different case.

    Since 2 months no update by "kkrzewniak":http://developer.qt.nokia.com/member/207

  • AFAIK there is no way to do this form the .pro file. My method of editing the .pkg file by hand worked fine for me. And to have it not rewritten every build, well just make it readonly after You edit it.

  • [quote author="kkrzewniak" date="1300716226"]And to have it not rewritten every build, well just make it readonly after You edit it.[/quote]

    Will try that. Thank you both for fast reply

  • There is a way to make it in the .PRO file. U have to write some pkg_postrules. In my case GTMt.exe is the second exe to be added to the current project.

    There is the section from the .PRO file of the current (main) project which adds the second exe:

    GTMt1.pkg_postrules = ""$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/GTMt.exe" - "!:\sys\bin\GTMt.exe""
    GTMt2.pkg_postrules = ""$${EPOCROOT}epoc32/data/z/resource/apps/GTMt.rsc" - "!:\resource\apps\GTMt.rsc""
    GTMt3.pkg_postrules = ""$${EPOCROOT}epoc32/data/z/private/10003a3f/import/apps/GTMt_reg.rsc" - "!:\private\10003a3f\import\apps\GTMt_reg.rsc""

    Good luck. Hope it helps. Works for me like a charm.

  • thanks anton_duca, it works!

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.