Qt 5.5 и Qt Installer Framework 2.0.1: логотип не отображается, несмотря на то, что он присутствует в config.xml

Я написал программу установки для своего приложения, используя предварительно скомпилированные двоичные файлы Qt Installer Framework версии 2.0.1. Однако окно установщика не будет отображать ни один из моих логотипов ни одним из возможных способов.

Рассматриваемый логотип называется «installerlogo.png» и представляет собой изображение 64x64 с альфа-каналом, расположенное в верхней части структуры каталогов установщика (в том же каталоге, где находятся каталоги config/ и packages/).

Я сделал еще один логотип для значка с именем «installericon.ico», который представляет собой просто версию 16x16 выше, просто переименованную в «.ico» (это неправильный способ сделать это?)

Я пробовал следующее в файле config.xml:

<InstallerApplicationIcon>installericon</InstallerApplicationIcon>
<InstallerWindowIcon>installerlogo</InstallerWindowIcon>
<Logo>installerlogo.png</Logo>
<Background>installerlogo.png</Background>

Но ни один из них не дает никаких визуальных результатов.


person Maxim Blinov    schedule 05.09.2015    source источник


Ответы (2)


После дополнительных исследований в Интернете о структуре я теперь вижу, что в целом я сделал несколько ошибок.

  • Во-первых, простое изменение .png на .ico не работает - весь смысл формата .ico, как я обнаружил, заключается в том, чтобы иметь возможность хранить несколько разрешений одного и того же изображения, чтобы оно не выглядело размытым при увеличении в файле. исследователь. Решение: http://www.icoconverter.com/ — этот веб-сайт позволяет создать полноценный ICO. файл из одного png.

  • Во-вторых, ico не размещаются в самом верхнем каталоге — их следует поместить в тот же каталог, что и файл config.xml.

  • В-третьих, не следует указывать расширения имени файла иконки в тегах config.xml, например. "myicon.ico" - это делается по необходимости при разборе файла. РЕДАКТИРОВАТЬ: Однако обратите внимание, что в других местах вам делает нужно указать расширения, например. при использовании тега <Watermark> или подобного.

  • В-четвертых, нужно определить <WizardStyle> как «Modern», «Classic», «Mac» или «Aero» (без кавычек), чтобы включить определенные функции — сейчас я забыл, какие, но некоторые флаги xml ничего не делают, если , например, <WizardStyle> это "Классический", я поставил <WizardStyle>Modern</WizardStyle> и пока все работает.

  • И, наконец, некоторые теги имеют смысл использовать только вместе с файлом installscrip.qs. Хотя конкретно мне это не помешало, но тоже есть на что обратить внимание.

person Maxim Blinov    schedule 05.09.2015
comment
Спасибо за подробный ответ на ваш вопрос - person Norbert Szenasi; 11.05.2017

Помимо отличных моментов Максима, указанных выше, есть еще очень важная вещь. Я ломал голову в течение последних 2 часов из-за этой проблемы. Добавляю, чтобы кому-нибудь пригодилось.

Windows имеет какое-то кэширование изображений значков .exe (в зависимости от имени exe и местоположения папки)

Допустим, вы в первый раз сгенерировали исполняемый файл установщика без изображения (возможно, у вас не было установленного изображения или у вас была неправильная настройка изображения в конфигурации). Теперь во второй раз, когда вы создаете исполняемый файл, на этот раз с изображением, правильно установленным в конфигурации, в ту же папку с тем же именем для исполняемого файла, исполняемый файл по-прежнему будет иметь старый (по умолчанию) образ.

Если вы скопируете исполняемый файл в другую папку, изображение волшебным образом появится для исполняемого файла. В противном случае вы должны создать exe-файл с другим именем во второй попытке, чтобы измененное изображение отразилось.

person Boney    schedule 31.07.2020