Unsolved What is the correct/recommended workflow to make a custom installer that installs Qt as well as custom contents
-
Hi,
I am building a set of Qt-dependent libraries, dynamically linked, LGPL license, which end users can use to build own Qt-Applications against. They will do so on both Windows PCs, Linux PCs or embedded linuxes.
I now want to discuss here the shipping of those libraries to those users. And I want only to cover the Windows approach, since that is the most important one for me.
I want to have an executable binary offline installer, which is executed on a Windows machine and is able to do
- Installing the Qt libraries themself
- Install Qt creator
- Installing the custom-made, qt-dependent libraries that I provide
- Installing custom templates, documentation, examples
- Installing additional stuff
The best case would to have a kind of Maintenance tool as well, that is able to install and uninstall those components separately.
Is the qt installer framework the right technology to build such an offline installer?
Is there a way to "merge" the desired qt offline installer with that custom made one?
Or should I call the offical Qt installer from my own custom installer separately during the process?
Or shall I simply include the qt include files, libs and tools manually and install them as a component in my custom installer?As for linux, I think I would not need graphical installer but instead build a debian package which contains the desired content and has the system provided qt libraries and qt creator as dependencies.
Thanks in advance
-
@devjb said in What is the correct/recommended workflow to make a custom installer that installs Qt as well as custom contents:
debian package which contains the desired content and has the system provided qt libraries and qt creator as dependencies
QtCreator should not be a dependency of a library - not everyone uses QtCreator.
Why do you want your installer to install Qt and QtCreator on Windows? For that users can simply use official Qt Online Installer. If I would be one of your users I would not want to install Qt and QtCreator from your installer, but only the libs. I want decide by myself which Qt and QtCreator version I want to use.
One important question is: is your lib open source?
-
@jsulm said in What is the correct/recommended workflow to make a custom installer that installs Qt as well as custom contents:
QtCreator should not be a dependency of a library - not everyone uses QtCreator.
The user base that is targeted is kind of special. From a software engineer point of view I fully agree. But I simply have to provide a fully ready to use solution that is installed with one click and does not require additional actions from the user. They simply are not software engineers. If they are experienced users, they can modify their system as they need.
Why do you want your installer to install Qt and QtCreator on Windows? For that users can simply use official Qt Online Installer. If I would be one of your users I would not want to install Qt and QtCreator from your installer, but only the libs. I want decide by myself which Qt and QtCreator version I want to use.
This applies for you and me, but not for everyone. Having to run several installers by hand is hardly wanted by the user base, especially if they do not know Qt at all so far, so to give them a curated installation is the desired way to go.
Those basic requirements are unfortunatley nothing that is up to me to decide.One important question is: is your lib open source?
No, the libs aren't. They are built and distributed according to the terms of the Qt LGPL agreements.
-
@devjb OK, understand.
One more thing to consider: which compiler should be included? It could be problematic to provide Visual Studio as part of your installer because of legal issues (that's why Qt Company does not do this). -
@jsulm said in What is the correct/recommended workflow to make a custom installer that installs Qt as well as custom contents:
One more thing to consider: which compiler should be included? It could be problematic to provide Visual Studio as part of your installer because of legal issues (that's why Qt Company does not do this).
As for the Windows installer, only Mingw shall be installed. Due to restrictions of at least one of our embedded target systems, we cannot use Qt above 5.12, which might change in 2021.
Currently the windows standard configuration is QT5.12.7 with MinGW 7.3.0
On x86 linux, a standard g++ is used. To compile for the target systems, which cannot be done on the devices, we have a specific toolchain for the very system with a custom g++.
But linux is a bit out of scope for now because the main goal is to have a windows installer in the first place, that is called as one part during a bigger software installation on windows.
-
@devjb Maybe you could use https://doc.qt.io/qtinstallerframework/index.html ?