Unsolved On the way of making an app installable
-
I have questions:
Should I follow the process using here?
If yes, which one of the aboveqt-installer-framework-opensource
s is pre-built, or which one should I use?Then should I follow from Setting up Qt Installer Framework there?
-
Those ending with .run are pre-built, which one you use depends on your OS.
-
@SGaist said in On the way of making an app installable:
Those ending with .run are pre-built, which one you use depends on your OS.
OK. since my OS in a x64 Windows 7, I choose
qt-installer-framework-opensource-2.0.1-x64.
So I don't need the Building from Sources section and go directly to: Setting up Qt Installer Framework, yeah?
I just don't understand these two:
1- 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.
2- Build the tools by running the "qmake" from the static Qt, followed by "make" or "nmake".for (1-) since I want to use a
.run
one so I don't need thesource
one, yes?
But I don't know how to do (2-) at all. :(I would be appreciative if your guide me on the way.
-
Since you are installing the pre-built package, you don't need to do these.
-
Good, thanks.
It seems that I should go here now. but isn't it for OS X?I want my app for Windows.
-
No it's not. It just describes the various possibilities you can use.
-
OK. So I follow it.
It says: Starting Installer
When end users start the installer, the introduction page opens:
Where is that installer please? -
These are just screenshots to illustrate the documentation. They don't necessarily indicate anything special except when there's an OS specific feature like
Selecting Windows Program Group
. -
OK, whatever they are, fine. I want to continue the way to the end.
Now what should I do then? Any other tuts, links? -
In the doc here.
-
so I created a folder on Desktop named package directory.
For this:
Place all components in the same root directory, which is called the package directory. The directory name acts as a domain-like identifier, which identifies all components. For example, com.vendor.root.what components does it mean? The qt-installer-framework-opensource-2.0.1-x64 and Release folder containing:
http://uploads.im/aN8CQ.jpg??
-
Please take the time to read the linked pages.
-
@SGaist
Actually as a habit, I read the pages/links but only when I find something unknown/strange, I post a question again.Frankly speaking, making an app installable is much much harder than creating the app itself. I would have never think it would be that difficult.
Anyway, I go on the way and try to read all pages.
-
Hi, and thanks for your guidance.
I went for creating a package directory on my Desktop with two subdirectories data and meta.
Then using a Notepad I created a package.xml like this and put into meta subdirectory:
<?xml version="1.0"?>
-<Package>
<DisplayName>Qt Calculator</DisplayName>
<Description>A Calculator Written in Qt by Purely C++ Code</Description>
<Version>1.1</Version>
<ReleaseDate>2017-03-23</ReleaseDate>
<Name>com.vendor.root.component2</Name>
<Dependencies>com.vendor.root.component1</Dependencies>
<Virtual>false</Virtual>
<Default>false</Default>
<ForcedInstallation>false</ForcedInstallation>
<Essential>false</Essential>
<Replaces>com.vendor.root.component2old</Replaces>
</Package>My app is very simple I think. I just need a window that installs the app including the .dll files and puts a shortcut on the desktop on the target machine.
I then went for this page section Predefined Installer Pages for going on the process.Have I done the work correctly up to now?
A question:
For the data subdirectory, the link says "The data directory contains the content that the installer extracts during the installation."
What content does it mean? I have the Release folder plus qt-installer-framework-opensource-2.0.1-x86.run only.
Should I package these as a 7zip archive and put into data subdirectory?Thanks so much.
-
They mean whatever is needed to run your application. So basically, you usually copy the binary of your exec in an empty folder, run windeployt, check that everything is working, and then you package that.
-
Thanks.
What I have now:
A packaeg_directory with a meta folder and a data.7z file in it.
The meta folder contains a package.xml file.
The data.7z archive file contains: the .exe file and related files and folders that were added to it after running windeployt, plus qt-installer-framework-opensource-2.0.1-x86.Then I continued to the Control Scpripting page.
There I think I should write one or mor Control Scripts. There are a few versions there that each one adds some functionality and wizards to the installation process.
The examples of codes are available there but the question is where and how to write them and then add them to the package_directoy? -
Why are you adding qt-installer-framework-opensource-2.0.1-x86 to your installer ?
-
@SGaist
I hadn't used it until now and thought it should be probably added to there. I just guessed. :(OK, I will remove it from there.
And what then please?
-
Are you following the tutorial here ?
-
Summary:
I have a package_directory folder on my Windows Desktop with these sub-folders. The config.xml file contains this. The data subfolder contains the data.7z file. The meta subfolder contains a package.xml file with this content.
following the link, I got to the Creating the Installer Binary where it says:
On Windows:
....\bin\binarycreator.exe -c config\config.xml -p packages YourInstaller.exeWhatever I searched I didn't find a
.exe
file namedbinarycreator
. After searching the Web, I downloaded QtInstallerFramework-win-x86.exe from here and installed it and finally could find that .exe file in path: C:\Qt\QtIFW2.0.3\bin\binarycreator.exeNow everything is ready to implement the command above. So by a command like I went to the path of package_directory on my Desktop and typed
C:\Qt\QtIFW2.0.3\bin\binarycreator.exe -c config\config.xml -p packages YourInstaller.exe
and hit Enter.The message of the command line, as stated in the following, is seemingly all about the package.xml file.
And no installer is created on my package_directory folder unfortunately. :(
Would you please tell me how to solve this?