Проблема:
В процессе инсталяциии инсталяционный пакет QTIF создает maintenancetool.exe в каталоге с приложением.
Проблема в том что этот файл не подписан и Windows начинает справедливо ругаться на этот факт.
И перепрбовал все что только можно (наверно), но у меня maintenancetool.exe так и остается в итоге не подписанным.
Что я делаю (на данный момент):
1) Крпирую из QTIF/bin файл installerbase.exe и кладу его в свою папку data (в которой лежат бинари приложения) как maintenancetool.exe
2) Плписываю этот data/maintenancetool.exe
3) В скрипт инсталятор добавляю обработчик
4) Запускаю QTIFW/bin/binarycreator.exe --offline-only ... что бы создать инсталяционный пакет.
5) Подписываю пакет.
6) Устанавливаю пакет и в итоге maintenancetool.exe который генерирует QTIFW это совсем не тот installerbase.exe (переименованный в 1 в maintenancetool.exe) и конечно же он не подписан.
Что я еще делал:
В одном из тикетов написано что в QTIFW/bin/binarycreator.exe надо передавать через -t путь к data/maintenancetool.exe я пробовал так делать.
В результате инсталяционный пакет создается но sign.exe говорит что инсаляционный_пакет.exe это НЕ ВАЛИДНЫЙ бинарь и отказывается его плписывать.
На это есть тикет https://bugreports.qt.io/browse/QTIFW-1422 который все еще не закрыт.
Я также пробовал переместить код из Component.prototype.onInstallationFinished в Component.prototype.onInstallationStarted,ничего не меняется.
Здравствуйте, Qt-Coder, Вы писали:
QC>А если подписать прямо в QTIF/bin?
Я попробую, но не думаю что поможет.
Суть в том что maintenancetool.exe генерирует инсталятор , его как такового нет в QTIF/каталоге.
Но вместо него можно использовать QTIFW/installerbase.exe я проверял.
Это по сути один и тот же файл, только с той разнице что к тому что ГЕНЕРИРУЕТ инсталятор он еще что то дописывает.
Т.е. я вроде как все делаю правильно. Беру этот QTIFW/installerbase.exe кладу к себе с переименованием в packages/com.project.root/data/maintenancetool.exe.
Потом подписываю его.
+ все этим манипуалции со сриптом.
Но инсталятор создается таким образом что ему пофигу на это и он просто пересоздает этот файл своей неподписанной версией.
Вот надо как то запретить ему это делать.
Re[3]: How to sign maintencetool.exe [Qt Installer Framework]
Здравствуйте, Qt-Coder, Вы писали:
QC>Такой вариант — положить подписанный в пакет, в пакете прописать замену.
Ну так и надо делать. Вопрос как заменить, своим, подписаным, maintencetool.exe (installerbase.exe) тот неподписанный maintencetool.exe который генерирует инсталятор?
Или даже: Как запретить инсталятору создавать maintencetool.exe ?
Я вообще не понимаю нафига инсталятор генерирует этот maintencetool.exe?
installerbase.exe — может вополне нормально работать и без дозаписи в него данных.
Все данные он возьмет из [maintencetool/installerbase].dat и [maintencetool/installerbase].int файлов в каталоге с проинсталированным приложением.
Т.е. эти доп. файлы должны называться также как и тулза их использующая и все будет ок.
В какой момент надо чтобы был подписан maintaincetool? Ты хочешь чтобы при сборке дистрибутива это уже был подписанный exe? Я имел ввиду, запаковать его в дистр и при установке развернуть в каталог приложения, заменив там неподписанный.
Re[3]: How to sign maintencetool.exe [Qt Installer Framework]
Здравствуйте, nen777w, Вы писали:
N>Здравствуйте, Qt-Coder, Вы писали:
QC>>А если подписать прямо в QTIF/bin? N>Я попробую, но не думаю что поможет.
N>Суть в том что maintenancetool.exe генерирует инсталятор , его как такового нет в QTIF/каталоге. N>Но вместо него можно использовать QTIFW/installerbase.exe я проверял. N>Это по сути один и тот же файл, только с той разнице что к тому что ГЕНЕРИРУЕТ инсталятор он еще что то дописывает.
N>Т.е. я вроде как все делаю правильно. Беру этот QTIFW/installerbase.exe кладу к себе с переименованием в packages/com.project.root/data/maintenancetool.exe. N>Потом подписываю его. N>+ все этим манипуалции со сриптом.
N>Но инсталятор создается таким образом что ему пофигу на это и он просто пересоздает этот файл своей неподписанной версией. N>Вот надо как то запретить ему это делать.
Так исходники QTIFW открыты. Можно внести любые изменения для собственного использоания.
Re: How to sign maintencetool.exe [Qt Installer Framework]
N>>Проблема: N>>В процессе инсталяциии инсталяционный пакет QTIF создает maintenancetool.exe в каталоге с приложением. М>а зачем его таскать со своим приложением? Требование lgpl?
Это штатный менеджер установки. Для обновления или удаления.
У меня тот же самый вопрос. Как его не использовать.
Re[4]: How to sign maintencetool.exe [Qt Installer Framework]