Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB

Qt WinAPI - Lesson 002. How to make win installer for Qt apllication?

WinAPI, DLL, InnoSetup, Windows, Qt, Инсталлятор

In the previous article we learned how to quickly collect all used in the project DLL-libraries. And now it is time to talk about how to build an installer for OS Windows. For a long time I use quite comfortable opensource tool called InnoSetup, which allows just a few clicks to collect a multilingual installer.

The installer utility is going from a script, you can write to blows, or use a script to create the script. The second embodiment is sufficiently effective and easier.

Build installer

Step one. Running the build script

To run the script, go to the menu and choose to create a new one: File > New or combination of keys Ctrl + N.

Then click on the button Next.

Step Two. Defining the program data

In this step, setting up your program's data:

  1. Application Name;
  2. The version of the application;
  3. Publisher application;
  4. Website application.

After that, follow the next (Next button).

Step Three. Setting a folder to install the application

In this step, select the folder where you install the application, if required, and can specify whether to allow the user to change the destination folder or not.

Step Four. Selecting the folders and files that will be included in the package

In this step, you must select the executable file (* .exe), folders, and your application libraries.

Step Five. Setting advanced options of the installer

In this step, we set up the icons that will be created when you install the application, and user rights to configure these icons during installation.

Step Six. Defining the license agreement

Unless of course you have time to write ...

Step Seven. Set up the language of the installer

Step Eight. Setting the output folder and the name of the installer

In this step, we configure the path to the folder where the installer will be built and the name and icon of the installer. The following steps click Next and finally Finish .

Step Nine. Build installer

After the end of the script for the preparation of the script utility will offer to build the installer.

From build installer initially refused recommend if you have a folder with their attachments. As still need to manually register the file path of an assembly that are in those folders.

To do this, locate the unit [Files], and in it the line where the selected folder contents.

In this case, the line:

Source: "D:\gui_stm32\imageformats\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

It is necessary to correct the setting DestDir, as shown below, otherwise the installer will dump all the files in the pile.

Source: "D:\gui_stm32\imageformats\*"; DestDir: "{app}\imageformats"; Flags: ignoreversion recursesubdirs createallsubdirs

Coclusion

Summing up, I can say that the utility copes with its functionality in the "Excellent"

And to download from the official website at the following link: InnoSetup

Just do not forget to collect all the DLL project in the same folder as was done in the previous article.

Video

10% refund of hotel reservation amount on Booking
10% refund of hotel reservation amount on Booking
We offer a link with a 10% return on the amount of the order when booking a hotel through Booking

Comments

Only authorized users can post comments.
Please, Log in or Sign up
ПМ
March 18, 2019, 3:12 p.m.
Пётр Махнёв

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
ЯГ
March 18, 2019, 7:59 a.m.
Ян Греку

C++ - Тест 003. Условия и циклы

  • Result:21points,
  • Rating points-10
МД
March 15, 2019, 4:32 p.m.
Михаил Дементьев

C++ - Test 001. The first program and data types

  • Result:60points,
  • Rating points-1
Last comments
March 16, 2019, 1:55 p.m.
Дмитрий

Спасибо за статью. Давно итересует следующий вопрос: с помощью переменных QMAKE_TARGET_COMPANYQMAKE_TARGET_PRODUCTQMAKE_TARGET_DESCRIPTIONможно задать свойства компилируемой программы, о...
JS
March 12, 2019, 10:19 a.m.
Jean Stefanovich

Большое спасибо за разъяснения!
March 12, 2019, 10:04 a.m.
Евгений Легоцкой

Hello, In fact, this functionality or is not implemented, or is not documented. I'm not sure. But I think, that it should be implemented in Text QML Type. Because of we can write text in...
March 12, 2019, 9:51 a.m.
Евгений Легоцкой

Да вы правы. На самом деле проще через QSqlQueryModel, сколько не пытался использовать эти дженерики типо QSqlTableModel и QSqlRelationalTableModel, то всегда упирался в какие-то их ограничени...
JS
March 12, 2019, 9:47 a.m.
Jean Stefanovich

Единицы измерения лежат там же где и названия продуктов. Просто в таблице ингредиенты нет ещё одного столбца, на который можно было бы установить setRelation. Я в итоге в базе создал ещё один ...
Now discuss on the forum
March 17, 2019, 10:47 p.m.
Евгений Легоцкой

Добрый день. Вот, нашлось у меня немного времени. Делается это через шаблон проектирования наблюдатель. GraphKS_mfvSlup.zip
ЧГ
March 15, 2019, 9:52 p.m.
Чарльз Грин

спасибо, попробую, отпишусь
m
March 15, 2019, 7:41 p.m.
mihamuz

Сори догадался)
n
March 12, 2019, 4:57 p.m.
newbie.works.with.QT

Большооооое спасибо!!!!!Не передать как я вам благодарен, спасибо что всегда отзываетесь.Теперь я смогу продолжить работу в QT!!! (пробую писать бота (Я как вы могли догадаться немного не пр...
March 12, 2019, 1:20 p.m.
BlinCT

Ну так если у вас есть готовая программа так ей и воспользуйтесь. Вы же написали ее вот и пользуйтесь.
Join us in social networks

For registered users on the site there is a minimum amount of advertising