How to sign maintencetool.exe [Qt Installer Framework]
От: nen777w  
Дата: 25.06.21 06:22
Оценка:
Проблема:
В процессе инсталяциии инсталяционный пакет QTIF создает maintenancetool.exe в каталоге с приложением.
Проблема в том что этот файл не подписан и Windows начинает справедливо ругаться на этот факт.

Я нашел кучу тикитеов по этому поводу:
https://bugreports.qt.io/browse/QTIFW-667
https://bugreports.qt.io/browse/QTIFW-1422
https://bugreports.qt.io/projects/QTIFW/issues/QTIFW-1482?filter=allissues

И перепрбовал все что только можно (наверно), но у меня maintenancetool.exe так и остается в итоге не подписанным.

Что я делаю (на данный момент):

1) Крпирую из QTIF/bin файл installerbase.exe и кладу его в свою папку data (в которой лежат бинари приложения) как maintenancetool.exe
2) Плписываю этот data/maintenancetool.exe
3) В скрипт инсталятор добавляю обработчик
Component.prototype.onInstallationFinished = function()
{
    if (component.updateRequested() || component.installationRequested()) {
        if (installer.value("os") === "win") {
            component.installerbaseBinaryPath = "@TargetDir@/installerbase.exe";
            installer.setInstallerBaseBinary(component.installerbaseBinaryPath);        
        }
    }
}

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,ничего не меняется.

Есть у кого то опыт решения этой проблемы?
Отредактировано 25.06.2021 6:36 nen777w . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.