Qt官方的安装包制作框架 Qt installer framework
2016-08-24 11:39
302 查看
以前打包都用第三方的NSIS,很简单也很方便。无意了解到Qt Installer Framework,是Qt官方的安装包制作框架。所以还是了解学习一下官方的打包安装方法吧。
在网上看到Qt Installer Framework, Qt默认包的发布框架。
现在从零开始记录下Qt Installer Framework的安装使用方法:
下载地址:http://download.qt.io/official_releases/qt-installer-framework/2.0.3/
里面各个平台的都有下载,我这里有windows下用的 QtInstallerFramework-win-x86.exe
然后安装。我安装到D:\Qt\QtIFW2.0.3
在D:\Qt\QtIFW2.0.3\examples下有很多例子。现在我们仿照例子来做一个自己的程序打包的工程:
1.将examples下找一个工程,复制一份,重新命个名,复制的目的是为了参照例子(startmenu)中的目录结构, 现在目录结构如下,然后在org.qtproject.ifw.example下创建了一个data目录,这个目录就是用来存放你要打包的所有库和应用程序等文件。目录结构如下:
2.将创建的这个文件夹myQIFW 复制到D:\Qt\QtIFW2.0.3\bin下,复制到这的目的只是为了方便用bin下面的工具binarycreator.exe,其实如果你将D:\Qt\QtIFW2.0.3\bin加入环境变量,在任何地方都可以用这个命令。不扯那么多了,命令如下:
其实这样便生成了一个安装包my_install.exe
现在我们试着运行一下,由于是例子里复制过来的,除了目录名,其它没经过任何修改,所以安装步骤里的名字,目录,说明等都不是我们想要的。经过这一步试验,你能更好的理解工程目录下的config.xml ,以及meta下的文件分别代表什么意思。
现在回过头来看一下config.xml
这里有一份官方的说明文档 http://doc.qt.io/qtinstallerframework/ifw-globalconfig.html
Qt installer framework引入了组件的概念;
若想该组件包必须安装时,可在packages.xml文件中添加ForcedInstallation:
若该属性设置为false或者为设置,那么该组件就是可选安装的.
创建开始菜单中的快捷方式;创建桌面快捷方式,修改installscript.qs:
其它说明:生成安装文件
离线安装:
在线安装:
在网上看到Qt Installer Framework, Qt默认包的发布框架。
现在从零开始记录下Qt Installer Framework的安装使用方法:
下载地址:http://download.qt.io/official_releases/qt-installer-framework/2.0.3/
里面各个平台的都有下载,我这里有windows下用的 QtInstallerFramework-win-x86.exe
然后安装。我安装到D:\Qt\QtIFW2.0.3
在D:\Qt\QtIFW2.0.3\examples下有很多例子。现在我们仿照例子来做一个自己的程序打包的工程:
1.将examples下找一个工程,复制一份,重新命个名,复制的目的是为了参照例子(startmenu)中的目录结构, 现在目录结构如下,然后在org.qtproject.ifw.example下创建了一个data目录,这个目录就是用来存放你要打包的所有库和应用程序等文件。目录结构如下:
2.将创建的这个文件夹myQIFW 复制到D:\Qt\QtIFW2.0.3\bin下,复制到这的目的只是为了方便用bin下面的工具binarycreator.exe,其实如果你将D:\Qt\QtIFW2.0.3\bin加入环境变量,在任何地方都可以用这个命令。不扯那么多了,命令如下:
./binarycreator.exe -c myQIFW/config/config.xml -p myQIFW/packages my_install.exe -v
其实这样便生成了一个安装包my_install.exe
现在我们试着运行一下,由于是例子里复制过来的,除了目录名,其它没经过任何修改,所以安装步骤里的名字,目录,说明等都不是我们想要的。经过这一步试验,你能更好的理解工程目录下的config.xml ,以及meta下的文件分别代表什么意思。
现在回过头来看一下config.xml
这里有一份官方的说明文档 http://doc.qt.io/qtinstallerframework/ifw-globalconfig.html
<?xml version="1.0" encoding="UTF-8"?> <Installer> <Name>PSSTC</Name> <Version>1.0.0</Version> <Title>安装向导</Title> <Publisher>Qt-Project</Publisher> <!-- Directory name is used in component.xml --> <StartMenuDir>PSSTC安保协会</StartMenuDir> <!-- <TargetDir>@HomeDir@/PSSTC</TargetDir> --> <TargetDir>@RootDir@/PSSTC</TargetDir> </Installer>
Qt installer framework引入了组件的概念;
若想该组件包必须安装时,可在packages.xml文件中添加ForcedInstallation:
<?xml version="1.0" encoding="UTF-8"?> <Package> <DisplayName>主程序</DisplayName> <Description>.</Description> <Version>1.0.0-1</Version> <ReleaseDate>2013-01-01</ReleaseDate> <Default>true</Default> <Script>installscript.qs</Script> <ForcedInstallation>true</ForcedInstallation> </Package>
若该属性设置为false或者为设置,那么该组件就是可选安装的.
创建开始菜单中的快捷方式;创建桌面快捷方式,修改installscript.qs:
function Component() { // default constructor } Component.prototype.createOperations = function() { // call default implementation to actually install README.txt! component.createOperations(); if (systemInfo.productType === "windows") { component.addOperation("CreateShortcut", "@TargetDir@/PSSTC.exe", "@StartMenuDir@/PSSTC.lnk"); component.addOperation("CreateShortcut", "@TargetDir@/PSSTC.exe", "@HomeDir@/Desktop/PSSTC.lnk"); component.addOperation("CreateShortcut", "@TargetDir@/maintenancetool.exe", "@StartMenuDir@/更新或卸载.lnk"); } }
其它说明:生成安装文件
离线安装:
binarycreator --offline-only -c installer-config/config.xml -p packages-directory -t installerbase SDKInstaller
在线安装:
binarycreator -c installer-config/config.xml -p packages-directory -e com.nokia.sdk.qt,com.nokia.qtcreator -t installerbase SDKInstaller
相关文章推荐
- Qt 安装包制作框架:Qt Installer Framework
- Windows程序安装包制作——Qt Installer Framework
- 使用Qt installer framework制作安装包
- 使用Qt Installer Framework制作软件安装包
- 使用Qt installer framework制作安装包
- 使用Qt installer framework制作安装包(不知道是否适合Mac和Linux?)
- visual studio 2017 installer 安装包制作过程出现的问题---此安装程序需要.NET Framework 版本 3.5,请安装该版本,然后重新运行此安装程序,可以从Web获得.NET Framework 。要立即做此事吗?
- QT图形视图框架(The Graphics View Framework)
- Qt动画框架The Animation Framework
- Qt动画框架The Animation Framework
- joa-framework 工作流快速开发框架(jeecg官方工作流版本) 发布
- 利用Qt Phonon框架制作音视频播放器
- Qt Graphics View Framework 图形视图框架
- QT图形视图框架(The Graphics View Framework)
- QT图形视图框架(The QGraphics View Framework)(转)(六)
- QT图形视图框架(The Graphics View Framework in QT)
- Qt Installer Framework实战
- vs2005制作安装包(自动安装.net framework 2.0)(小寿原创)
- Qt Installer Framework实战
- Qt动画框架The Animation Framework