How to publish an app?
-
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.
( -
@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.
( -
@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.
( -
@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: -
@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 -
@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/ -
@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. -
@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.
-
@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.
-
Looks like I had the same question some months ago: Take a look here .
I read your link. And also went to the links there they were provided. And tried to go through a path and make my app ready for sending. But the result was completely awful. I became really confused by those many complicated and complex contents. :(
Whatever I tried to find a way for my app, I couldn't. :(What about you? Could you share your app as you wanted? If so, please tell me what steps are needed, or how could you do it?
This link should help you.
http://doc.qt.io/qt-5/windows-deployment.html#static-linkingI could find
windeployqt.exe
in this path
C:\Qt\Qt5.5.1\5.5\mingw492_32\bin\windeployqt.exe
(remember please that I usedQt Creator
for creating the app)
And also I created arelease mode
of the app. And now I have two folders named
build-My_First_Calculator-Desktop-Release
which contains arelease
folder with some files inside it. I then, went to that path (release
folder) by a command line and pasted the path towindeployqt.exe
. I don't know now how to addconfigure -static
. However I type it, the command line gets an error!I also collected some
.dll
files as follows and put them in a same folder withMy_First_Calculator.exe
(fromrelease
folder). That.exe
files is much smaller in size compared to the.exe
file of thedebug
folder.libgcc_s_dw2-1.dll
libwinpthread-1.dll
Qt5Cored.dll
Qt5Guid.dll
libstdc++-6.dll
Qt5Gui.dll
Qt5Widgetsd.dll
Now what should I do?
It does not matter that I go through a hundred steps, but just guide me step-by-step, I will do it.@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).So I would definitely not distribute a static linked binary unless you have a commercial license or risk some serious legal ramifications.
Would you please shortly say what do you mean by this, in some works? I would be grateful.
The other way to do it is use the windows deployment tool.
http://doc.qt.io/qt-5/windows-deployment.html#the-windows-deployment-tool
As I said, I saw all of these, but the problem is, for a newcomer of Qt (I have just read two chapters of the official book on
Qt 4.x
) they are very complicated and seems complex.What I need is only a step-by-step solution. Thanks.
@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. :)
-
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
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. -
@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. :)
@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. -
-
@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. :)
@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.
-
@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.
@Eeli-K Ah yes this is true. I forget about that as most people with licensing issues tend to be closed source people.
Plus since I work in a 95% closed source world I tend to forget about the open source part of releasing with L-GPL.
So @tomy if you release your code then you can statically link using the L-GPL side of the license without buying the commercial one. :)