Qt 5.5 和 Qt Installer Framework 2.0.1:徽标尽管存在于 config.xml 中但未显示
Qt 5.5 and Qt Installer Framework 2.0.1: Logo is not displayed despite being present in config.xml
我已经使用预编译的 Qt Installer Framework 二进制文件 2.0.1 版为我的应用程序编写了一个安装程序。
但是,安装程序 window 不会以任何可能的方式显示我的任何徽标。
有问题的徽标名为 "installerlogo.png",一个带有 alpha 通道的 64x64 图像,位于安装程序目录结构的顶部(与 config/ 和 packages/ 目录所在的目录相同。)
为了图标的目的我又做了一个logo,取名为"installericon.ico",就是上面那个的16x16版本,只是改名为“.ico”而已(是不是做法不对? )
我在 config.xml 文件中尝试了以下内容:
<InstallerApplicationIcon>installericon</InstallerApplicationIcon>
<InstallerWindowIcon>installerlogo</InstallerWindowIcon>
<Logo>installerlogo.png</Logo>
<Background>installerlogo.png</Background>
但是 none 产生任何视觉结果。
在互联网上对框架进行了更多研究后,我现在发现我犯了几个错误。
首先,简单地将 .png 更改为 .ico 是行不通的——整个
正如我所发现的,.ico 格式的要点是能够
存储同一图像的多种分辨率,以防止它看起来
在文件资源管理器中放大时模糊。解决方案:http://www.icoconverter.com/ - 该网站允许从单个 png 创建一个全范围的 ico 文件。
其次,ico 不在最顶层的目录中 - 它们应该放在与 config.xml 文件相同的目录中
第三,不应在config.xml标签中为图标文件指定文件扩展名,例如"myicon.ico" - 这是在解析文件时根据需要完成的。编辑:但是请注意,在其他地方您 do 需要指定扩展名,例如使用 <Watermark>
标签等时。
第四,需要将 <WizardStyle>
定义为 "Modern"、"Classic, "Mac" 或 "Aero"(没有引号)启用特定功能 - 我现在忘记了,但是如果 <WizardStyle>
是 "Classic",一些 xml 标志什么都不做。我已经将我的设置为 <WizardStyle>Modern</WizardStyle>
到目前为止一切正常。
最后,一些标签只有与 installscrip.qs 文件一起使用才有意义。虽然这并没有特别妨碍我,但也有一点需要注意。
除了上面Maxim指出的优点外,还有一个很重要的地方。由于这个问题,过去 2 个小时我一直在伤脑筋。添加它,以便它对某人有帮助。
Windows 对 .exe 图标图像进行了某种缓存(基于 exe 名称和文件夹位置)
假设您第一次生成没有图像的安装程序 exe(可能您没有设置图像或配置中的图像设置不正确)。
现在第二次生成 exe 时,这次在配置中正确设置了图像,将 exe 的名称设置为相同的文件夹位置,exe 仍将具有旧的(默认)图像。
如果您将 exe 复制到不同的文件夹位置,该 exe 的图像将神奇地出现。
否则,您应该在第二次尝试中生成具有不同名称的 exe,以反映更改后的图像。
我已经使用预编译的 Qt Installer Framework 二进制文件 2.0.1 版为我的应用程序编写了一个安装程序。 但是,安装程序 window 不会以任何可能的方式显示我的任何徽标。
有问题的徽标名为 "installerlogo.png",一个带有 alpha 通道的 64x64 图像,位于安装程序目录结构的顶部(与 config/ 和 packages/ 目录所在的目录相同。)
为了图标的目的我又做了一个logo,取名为"installericon.ico",就是上面那个的16x16版本,只是改名为“.ico”而已(是不是做法不对? )
我在 config.xml 文件中尝试了以下内容:
<InstallerApplicationIcon>installericon</InstallerApplicationIcon>
<InstallerWindowIcon>installerlogo</InstallerWindowIcon>
<Logo>installerlogo.png</Logo>
<Background>installerlogo.png</Background>
但是 none 产生任何视觉结果。
在互联网上对框架进行了更多研究后,我现在发现我犯了几个错误。
首先,简单地将 .png 更改为 .ico 是行不通的——整个 正如我所发现的,.ico 格式的要点是能够 存储同一图像的多种分辨率,以防止它看起来 在文件资源管理器中放大时模糊。解决方案:http://www.icoconverter.com/ - 该网站允许从单个 png 创建一个全范围的 ico 文件。
其次,ico 不在最顶层的目录中 - 它们应该放在与 config.xml 文件相同的目录中
第三,不应在config.xml标签中为图标文件指定文件扩展名,例如"myicon.ico" - 这是在解析文件时根据需要完成的。编辑:但是请注意,在其他地方您 do 需要指定扩展名,例如使用
<Watermark>
标签等时。第四,需要将
<WizardStyle>
定义为 "Modern"、"Classic, "Mac" 或 "Aero"(没有引号)启用特定功能 - 我现在忘记了,但是如果<WizardStyle>
是 "Classic",一些 xml 标志什么都不做。我已经将我的设置为<WizardStyle>Modern</WizardStyle>
到目前为止一切正常。最后,一些标签只有与 installscrip.qs 文件一起使用才有意义。虽然这并没有特别妨碍我,但也有一点需要注意。
除了上面Maxim指出的优点外,还有一个很重要的地方。由于这个问题,过去 2 个小时我一直在伤脑筋。添加它,以便它对某人有帮助。
Windows 对 .exe 图标图像进行了某种缓存(基于 exe 名称和文件夹位置)
假设您第一次生成没有图像的安装程序 exe(可能您没有设置图像或配置中的图像设置不正确)。 现在第二次生成 exe 时,这次在配置中正确设置了图像,将 exe 的名称设置为相同的文件夹位置,exe 仍将具有旧的(默认)图像。
如果您将 exe 复制到不同的文件夹位置,该 exe 的图像将神奇地出现。 否则,您应该在第二次尝试中生成具有不同名称的 exe,以反映更改后的图像。