Unsolved How to publish an app?
-
@mrjj
Thank you. I went for Qt's one. I'm in Setting up Qt Installer Framework.
There it says:
"Clone the Qt Installer Framework source code from http://code.qt.io/cgit/installer-framework/installer-framework.git/ to get the sources for the tools."
And when I go to there and click on clones at the bottom of the page, nothing will be done. -
@tomy
well that do not work anymore as far as i know.
You must use a git client. -
I found this page but there are only codes there seemingly. Is a git a tool/program to use it for making the installer? If so, where to download it?
-
@tomy
GIT is the world most used tool for source code revision control.
It will download the source code.https://backlogtool.com/git-guide/en/
http://rogerdudler.github.io/git-guide/Make sure u understand what it is. you just need it for download.
But are u sure u need to build it ?
Its include in the installer.
( -
@mrjj said in How to publish an app:
@tomy
GIT is the world most used tool for source code revision control.
It will download the source code.https://backlogtool.com/git-guide/en/
http://rogerdudler.github.io/git-guide/Make sure u understand what it is. you just need it for download.
Honestly I don't know what it is but something to make an installer for my app :)
But are u sure u need to build it ?
I can't remember if I downloaded it at the times of downloading and installing Qt Creatro or not. If it's installed perhaps, where to find it?
Its include in the installer.
( -
@tomy
Use the maintenance tool found with the rest of Qt and check. -
@mrjj said in How to publish an app:
@tomy
Use the maintenance tool found with the rest of Qt and check.Sorry but I didn't get it!!
I searched that maintenance tool in tools tab of Qt Creator and also the page http://doc.qt.io/qtinstallerframework/
but couldn't find it.
I downloaded the Git using the second link and installed it and have this window now: -
No, the maintenance tool is a standalone application.
Its not inside Creator
Mine is here
"D:\Qt\MaintenanceTool.exe" -
@mrjj said in How to publish an app:
No, the maintenance tool is a standalone application.
Its not inside Creator
Mine is here
"D:\Qt\MaintenanceTool.exe"I found it and created a temporary repository (just clicked Add and set a password) on it. Then pressed "Add or Remove" option there. Now I'm to select some components as follows:
http://uploads.im/5FWui.jpg -
Super. Not sure if there for 5.5 but maybe u can just use never Qt ?
-
@mrjj said in How to publish an app:
Super. Not sure if there for 5.5 but maybe u can just use never Qt ?
??
There isn't Qt Installer Framework on the list.
http://uploads.im/4uCsN.jpg -
@tomy
Ok, then it was not added back in Qt5.5
Then you must download and compile it or
simply install Qt5.7 where i know its there. maybe even 5.6There is also
https://download.qt.io/official_releases/qt-installer-framework/2.0.1/ -
@mrjj said in How to publish an app:
@tomy
Ok, then it was not added back in Qt5.5
Then you must download and compile it or
simply install Qt5.7 where i know its there. maybe even 5.6There is also
https://download.qt.io/official_releases/qt-installer-framework/2.0.1/I downloaded and installed Qt Installer Framework Opensource 2.0.1 from that address.
Now the next step is maybe returning to this page and following instructions from number 2, yes?
It says: 2- Build the tools by running the "qmake" from the static Qt, followed by "make" or "nmake".
Again, how to run "qmake" from the static Qt, followed by "make" or "nmake".?I've just run
qmake
from acommand line
for creating.pro
files for my projects so far. -
@tomy
How to install it depends on your compiler and if you really have a static version ?
Since you need DLLs , it sounds you are not using a static version so by static , you mean "installed" ?"The Qt Installer Framework can be compiled with Microsoft Visual Studio 2013 and newer, GCC 4.7 and newer, and Clang 3.1 and newer."
So use the one that comes with your compiler.
-
How to install it depends on your compiler and if you really have a static version ?
Install what? If, Qt Installer Framework Opensource 2.0.1, I installed it!
A static version for the app? So why not have a static version?Does it have risks or whatever?Since you need DLLs , it sounds you are not using a static version so by static , you mean "installed" ?
Dear mrjj, I really know nothing about these things! I'm a programmer of console apps of C++ and if you see that I could write a good calculator, it's not because of Qt, as I said I just read the first 2 chapters of C++-GUI-Programming-with-Qt-4-2ndEdition, and it was because I learnt C++ programming by PPP book of Stroustrup. So I think I'm good in C++ but very very novice in Qt. That is why I don't understand many things.
My purpose/goal is to be able to create an installer for the apps I create. I publish them for free but maybe some time later I sell them.
"The Qt Installer Framework can be compiled with Microsoft Visual Studio 2013 and newer, GCC 4.7 and newer, and Clang 3.1 and newer."
Do you mean that although I installed Qt Installer Framework Opensource 2.0.1, I can't use it for my purpose on Qt Creator and I should use VS? OK, I've Ms VS 2015 installed on my machine.
So use the one that comes with your compiler.
My compiler for Qt programming is Qt Creator 3.6.0. But for console programming in C++, I use VS 2015.
-
@tomy Yea it sounds like you want static linking. However, be aware that you need a commerical license (last time I checked) for static linking to Qt.
What does that mean please?
It was me who wrote the code and have the source code. I think if someone else, wants to use it (without getting permission from me) he/she should get a licence for it. Or maybe there is some misunderstanding for me (because it's the first time I do it).You should read about licensing Qt. If you like statically to Qt you have to have a commercial license. They are quite expensive. If you don't do static linking and instead use the dlls you can use the L-GPL license.
It has nothing to do with you writing the code but you using the Qt library. My assumption on this is they want to make sure people aren't using their code in a modified state. Which is easy to do with dynamic linking and much harder with static.
Either way it's their terms and if you statically link you have to have a commercial license. Last one I bought was around $2000, so I would just use dynamic linking if I were you. ;)
To explain why the end user wouldn't pay for it .. you are the one using the software (Qt). Not the end user. If you wanted to you could write your own library of cross platform "widgets" and then you wouldn't need to use Qt or pay for it. In the same vein the end user of your product would be the one who needed to pay for it, not what you used to develop it. Hope that helps clear it up. :)
-
@tomy
Hi
Ok, you don't have a static Qt. It's just you said static and it means a special version. But let's forget that again.
Since you Qt5.5 did not have the Installer Framework pre-made, we need to build it.
And to build it, it must be the same compiler as you use Qt with. VS 2015.
And it must also be installed into the Qt as a module. All of this require reading docs and carefully
input commands to build it.So I wondering if it not would be FAR, FAR easier to
Use maintenance tool. Install Qt 5.7
There u just can have Installer Framework and use it.
No building and installing.Alternatively just find something easy to use to make installer
Test
http://izpack.org/You still FIRST have to make deployment folder and then
use tool to make it an installer/ include in the installer. -
@ambershark
Hi,
Thank you for your good info.@mrjj
Hi,
Thank you.
I still have some questions in my mind about the whole issue. I have a plan:
Since still I don't completely know about "pre-made", "static", "commercial licence" and many other things, and also you recommended that I install Qt 5.7, I want to:Firstly, download and install "qt-opensource-windows-x86-mingw530-5.7.0.exe" from here.
Secondly, read this page and try to find answers for the questions I have in mind.
Do you agree?If yes, OK & thanks. About installing the new Qt 5.7, since now I have two Qt-es (Qt5.5.1 and qtcreator-3.6.0) on my Win x64 machine, should I first uninstall both of these and then install the new Qt5.7 or install it over them!?
As you know the purpose is to make a written Qt app, installabe on other systems when I want to share.
Thanks once again. -
Yes or just use the online installer.
http://doc.qt.io/qt-5/deployment.html
is good for a start and also the link i posted where
they discuss the same or simply search the forum
as this is often a question.
Making the deployment folder is real work and do not
just work if not done right so please use both the tool and
read the docs.-
r install it over them!?
It wont install over them. you would then have both.
To minimize confusion, please remove all first and then install 5.7 -
As you know the purpose is to make a written Qt app, installabe on other systems when I want to share.
Yes and for that u need
1: The deplyment folder with the RIGHT dlls so your app can start.
2: Some sort of installer that will copy these dlls and exe into c:\whatever etc and make icons etc. -
-
@ambershark said in How to publish an app?:
@tomy Yea it sounds like you want static linking. However, be aware that you need a commerical license (last time I checked) for static linking to Qt.
What does that mean please?
It was me who wrote the code and have the source code. I think if someone else, wants to use it (without getting permission from me) he/she should get a licence for it. Or maybe there is some misunderstanding for me (because it's the first time I do it).You should read about licensing Qt. If you like statically to Qt you have to have a commercial license. They are quite expensive. If you don't do static linking and instead use the dlls you can use the L-GPL license.
No, no. If you link statically you can use either commercial or LGPL licence, but if you use LGPL, you have to release your own code under LGPL, too. If you link dynamically you don't have to open your own source code even if you use LGPL Qt.