Випуск утиліти розгортання додатків C++/Qt та QML CQtDeployer v1.5.0
Це перше велике оновлення у 2021 році. CQtDeployer 1.5 містить багато корисних покращень. Найбільшими покращеннями є додавання можливості упаковувати пакети deb та можливість використовувати власний шаблон упаковки для середовища установки qt.
Повний список усіх змін
CQtDeployer 1.5.0
Нові можливості
- Додана нова тема установника qif "quasarDark".
- Додана підтримка роботи з кастомним шаблоном для опції qif.
- Додана підтримка пакетів debian.
- Додана підтримка іконок цілей. Тепер опція icon працює із цілями, але не з пакетами.
- Додана підтримка управління файлами перекладу користувача.
- Додана підтримка розгортання файлів, що не виконуються. (опція extraData)
- Додано змінні оточення для розгорнутих програм.
- Додана підтримка створення пакетів deb.
- Додана підтримка створення архівів zip.
- Додана підтримка створення установника qif з використанням шаблону, що настроюється.
- Додана команда для ініціалізації шаблонів qif та deb за замовчуванням (getDefaulttemplate)
- Додана підтримка імпорту користувацьких скриптів запуску.
- Додана підтримка хешів md5 пакетів.
- Додана підтримка Qt6.1.
Виправлення
- Виправлена стабільність для опції deploySystem у Windows.
- Виправлено докладний журнал.
- Виправлено загальний журнал виведення.
- Виправлені друкарські помилки в лозі.
- Виправлено крос-розгортання під платформу ARM
- Виправлено розгортання Qt6 qml
- Виправлені команди PowerShell у Windows.
- виправлення помилок та покращення.
Нові змінні оточення
- CQT_RUN_FILE - Ця змінна містить шлях до сценарію виконання використовуваної програми.
- CQT_PKG_ROOT – ця змінна містить шлях до кореня поточного пакета.
Нові параметри
- zip - створити ZIP-архів для програми, що розгортається
- deb - Створити пакет deb для програми, що розгортається
- homepage - Встановлює URL-адресу домашньої сторінки для пакета
- noQt – ігнорує помилку ініціалізації qmake. Використовуйте тільки в тому випадку, якщо ваша програма не використовує фреймворк qt
- allowEmptyPackages - дозволяє настроювати порожні пакети.
- getDefaultTemplate - Виймає шаблони deb або qif за промовчанням.
- tr - Додає qm файли до папки перекладів.
- extraData - додає додаткові файли чи каталоги як ціль. Вибраний каталог буде скопійовано до папки extraDataOut із збереженням власної структури.
- extraDataOut - Встановлює шлях до каталогу із додатковими файлами даних.
- prefix - Встановлює префікс для пакету щодо цільового каталогу
- homePage - Встановлює URL-адресу домашньої сторінки для пакета
- binPrefix – встановлює префікс для опції bin.
- noHashSum – відключає хеші кампутних пакетів
Застарілі та віддалені параметри
- deploySystem-with-libc - замість цього параметра використовуйте параметр deploySystem.
- allQmlDependes - замість цього параметра використовуйте параметр qmlDir.
Детальний розбір найцікавіших змін.
Пакети Debian
Ця функція дуже зручна, якщо ви хочете створити серверну програму.
Наприклад, мені потрібно створити простий сервер для гри.
Мої кроки:
зібрати мою програму в режимі релізу.
запустіть cqtdeployer з опцією deb.
cqtdeployer -bin mySimpleServer deb -qmake ~/Qt/5.15.2/gcc_64/bin/qmake
SimpleServer залежить тільки від qt, тому мені було достатньо вказати шлях до qmake для мого додатка.
Це все!!!. І я отримую робочий пакет deb.
За промовчанням CQtDeployer створює незалежні пакети debian.
Поштові архіви
Ця функція дозволяє стиснути пакети дистрибутива в zip-архів.
приклад:
cqtdeployer -bin mySimpleServer zip -qmake ~/Qt/5.15.2/gcc_64/bin/qmake
Користувальницький Шаблон для QIF
Починаючи з Версії CQtDeployer 1.5, ви можете використовувати свій власний шаблон установника. Для цього ви повинні передати в qif шлях до вашого шаблону.
cqtdeployer ... -qif /path/to/my/custom/qif/template
Шаблон
Шаблон qif повинен містити 2 папки:
пакети
конфігурація
Увага
Назва пакетів у папці packages повинні співпадати з назвою пакетів під час розгортання.
Наприклад:
"targetPackage": [ [ "myCustomInstaller", "tar1" ] ],
. ├── config │ ├── config.xml │ └── style.qss └── packages └── myCustomInstaller └── meta ├── installscript.qs └── package.xml 4 directories, 4 files
Якщо імена папок не співпадають з іменами пакетів, CQtDeployer буде використовувати стандартний пакет для QIF.
Якщо у вас є лише один пакет, ви можете використовувати опцію name для встановлення імені програми.
cqtdeployer ... -qif /path/to/my/custom/qif/template -name myCustomInstaller
Не забудьте перейменувати папку вашого пакета на ім'я пакета з опції імені.
. ├── config │ ├── config.xml │ └── style.qss └── packages └── myCustomInstaller << "This is folder of the your package" └── meta ├── installscript.qs └── package.xml 4 directories, 4 files
Привет.
Подскажите пожалуйста решения двух проблем:
1. Не могу создать установщик с помощью флага qif. просиходит ошибка, но текста ошибки нет. поэтому не знаю куда копать. текст что упаковка не удалась я гуглил, находил только сами исходники деплоера.
ошибка на скрине
Это так и должно быть, или я что-то делаю не так, и можно сделать так, чтобы деплойер сам забирал все файлы перевода без перечисления?
(и еще баг форума чтоли, я пишу этот пункт под номером "2.", но после отправки он превращается в "1.")
На данный момент Qt Installer Framework не поддерживает Windows 7
смотрите баг #2224
Благодарю.
Действительно, подменил файлы от версии 4.0, и все заработало)