Qt Symbian, embedding 2 exe in 1 sis.
-
wrote on 4 Nov 2010, 13:45 last edited by
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?
Thanks -
wrote on 4 Nov 2010, 13:50 last edited by
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.
Tony.
-
wrote on 4 Nov 2010, 13:54 last edited by
That's a good idea but I think this might lead to some trouble with getting the application signed.
-
wrote on 4 Nov 2010, 13:59 last edited by
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 ...
T.
-
wrote on 4 Nov 2010, 15:52 last edited by
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.
-
wrote on 19 Dec 2010, 14:39 last edited by
Have you found a solution for embedding the 2 exe files in 1 sis in QtCreator?
-
wrote on 20 Dec 2010, 00:04 last edited by
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"@ -
wrote on 5 Jan 2011, 13:13 last edited by
Is there a way to specify this in the QTCreator .pro file?
Since the _template.pkg is constantly rewritten at every build.
-
wrote on 21 Mar 2011, 13:03 last edited by
I would also like to know, if there is a way to specify this in .pro file, if anyone figured it out
-
wrote on 21 Mar 2011, 13:46 last edited by
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
-
wrote on 21 Mar 2011, 14:03 last edited by
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.
-
wrote on 21 Mar 2011, 14:14 last edited by
[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
-
wrote on 21 Mar 2011, 15:28 last edited by
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""
DEPLOYMENT += GTMt1
DEPLOYMENT += GTMt2
DEPLOYMENT += GTMt3
@Good luck. Hope it helps. Works for me like a charm.
-
wrote on 22 Mar 2011, 07:43 last edited by
thanks anton_duca, it works!