On the way of making an app installable
-
I did these:
1- Using aCommand Prompt
went to thewindeployqt
's path and pasted the path ofRelease
folder into<>
:C:\Qt\Qt5.7.0\5.7\mingw53_32\bin>windeployqt <C:\Users\CS\Documents\Qt\build-Cal-Desktop_Qt_5_7_0_MinGW_32bit-Release\release>
Result: The syntax of the command is incorrect.Once again this time I pasted the path of the
Cal
folder:
C:\Qt\Qt5.7.0\5.7\mingw53_32\bin>windeployqt <C:\Users\CS\Desktop\Cal>
Result, again: The syntax of the command is incorrect.If this is the simplest way to make an app installable, so how to run that
.exe
file please?? -
Remove all these < and > from your command
-
@SGaist
GOOD, something happened.
My Release folder changed. It's now as follows:
http://uploads.im/ViqNX.jpgNow what to do with them please?
I mean what is the rest of the process? when I will reach the end please? It's a week I'm just looking for a way to make my app installable on other machines (and mine as well) -
I already suggested in a previous post to look for an installer creation framework.
-
Yes, you are right, sorry.
I have all of these:
qt-installer-framework-opensource-2.0.1-x86.run
qt-installer-framework-opensource-2.0.1-x64.run
qt-installer-framework-opensource-2.0.1-src
And also two folders (
Cal
andRelease
) that I have used them forwindeployqt
by aCommand Prompt
.Now how to use these?
-
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.
-
No it's not. It just describes the various possibilities you can use.
-
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
. -
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.