当前位置:   article > 正文

Qt IFW创建安装程序 4_qt ifw 添加rcc

qt ifw 添加rcc

在准备好程序的目录结构之后,接下来的任务就是要创建安装程序,这通常有很多好处:

  • 压缩软件的大小;

  • 简化软件的安装过程;

  • 提供亲切、友好的操作界面;

  • 保护软件的完整性,避免被盗版、破解或植入病毒。

那么,如何通过 Qt IFW 创建安装程序呢?一起来看看吧!

 

1    创建包目录

打包的第一步,先要创建一个类似于下面这样的包目录(必须包含 config 和 packages 子目录),以反映安装程序的设计并允许将来扩展:

 

 

如果不想手动创建,有一个简单的办法:从 Qt IFW 安装目录下的 examples 里复制一份,然后在该基础上进行修改。

 

2    创建配置文件

 

为了自定义安装程序的 UI 和行为,我们需要创建一个配置文件,该文件通常被命名为 config.xml,位于 config 目录中。

配置文件由根元素 <Installer> 组成,并且必须包含子元素 <Name> 和 <Version> 。但是其他子元素是可选的,而且可以以任意顺序出现。

来看一个典型的配置文件:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Installer>
  3.     <Name>MyApp</Name>
  4.     <Version>1.0.0</Version>
  5.     <Title>MyApp Installer</Title>
  6.     <Publisher>Waleon</Publisher>
  7.     <StartMenuDir>IFW Examples</StartMenuDir>
  8.     <TargetDir>@ApplicationsDir@/MyApp</TargetDir>
  9. </Installer>

 

其中,各个元素的含义如下所示:

元素描述
<Title>标题栏上的安装程序名称
<Name>被添加到页面名称和简介文本中的应用程序名称
<Version>程序的版本号
<Publisher>软件的发布者(如 Windows 控制面板中所示)
<StartMenuDir>Windows 开始菜单中产品的默认程序组名称
<TargetDir>程序安装的目标路径

最终,这些信息将被显示在介绍页面上:

 

 

 

有关配置文件的格式和可用元素的更多信息,请参见 Configuration File(https://doc.qt.io/qtinstallerframework/ifw-globalconfig.html)。

 

3    创建包信息文件

对于我们来说,安装程序只处理一个组件 - com.waleon.ifw。要向安装程序提供有关组件的信息,需要创建一个名为 package.xml 的文件,并将其放在 meta 目录中。

以下是我们为组件提供的一些信息:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Package>
  3.     <DisplayName>MyApp</DisplayName>
  4.     <Description>The first ifw installer.</Description>
  5.     <Version>1.0.0-1</Version>
  6.     <ReleaseDate>2019-10-12</ReleaseDate>
  7.     <Default>true</Default>
  8.     <Script>installscript.qs</Script>
  9. </Package>

 

其中,各个元素的含义如下所示:

元素描述
<DisplayName>组件的名称
<Description>组件的描述信息
<Version组件的版本号(当有可用的版本时,用于推广更新)
<ReleaseDate>组件的发布日期
<Default>如果在安装程序中预先选择了组件,则为 true。
<Script>JavaScript 文件名,用于在加载时执行一些安装操作。

 

最终,这些信息将被显示在组件页面上:

 

 

有关包信息文件的更多信息,请参见 Package Information File Syntax(https://doc.qt.io/qtinstallerframework/ifw-component-description.html#package-information-file-syntax)。

 

 

4    添加到开始菜单

如果要添加开始菜单快捷方式,则需要用到(由上述 <Script> 元素指定的)脚本文件 - installscript.qs:

  1. function Component()
  2. {
  3.     // 默认构造
  4. }
  5. Component.prototype.createOperations = function()
  6. {
  7.     // 调用默认实现
  8.     component.createOperations();
  9.     // 添加开始菜单
  10.     if (systemInfo.productType === "windows") {
  11.         component.addOperation("CreateShortcut",
  12.                            "@TargetDir@/bin/MyApp.exe",
  13.                            "@StartMenuDir@/MyApp.lnk",
  14.                            "workingDirectory=@TargetDir@");
  15.     }
  16. }

 

当程序安装完成之后,就能在开始菜单中找到了:

 

 

 

5    准备打包文件

 

Tips:data 目录用于存放最终要打包的文件(.exe、.dll 等)。Qt IFW 在制作安装程序时,会用自带的 archivegen 工具将这些文件压缩成 7zip 格式;然后在安装时,再从压缩包中将它们提取出来。

 

这是最简单,也是最关键的一环。由于在《准备 Qt 安装包》一节中,我们已经组织好了程序结构,现在只需要将其拷贝到 data 目录下即可:

当一切准备就绪,就可以创建第一个安装程序了。

 

6    生成安装程序

 

要生成安装程序,需要借助 Qt IFW 提供的 binarycreator 工具(参考:https://doc.qt.io/qtinstallerframework/ifw-tools.html#binarycreator)。这个工具十分强大,除了创建离线/在线安装程序之外,还支持像 -v 这样的选项,以便于调试输出。

 

打开 CMD(或者 PowerShell),并进入包目录 deploy,然后输入

 binarycreator -c config\config.xml -p packages MyInstaller.exe -v

命令。

 

 

待执行成功之后,会生成一个名为 MyInstaller.exe 的安装程序:

 

 

不要忘了测试一下,看最终的安装效果是否如预期一样?程序的各项功能是否正常?假如没有任何问题,便可以将其交付给最终用户了。

 

                                                                                         高效程序员

 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/112685
推荐阅读
相关标签
  

闽ICP备14008679号