如何使用 Qt Installer Framework 正确创建在线安装程序
How to create online installer with Qt Installer Framework properly
我想知道,为什么关于 QtIFM 的信息如此缺乏?
所以,基本上我已经成功创建了离线安装程序,但现在在线安装程序出现了一些问题。
这是我制作 repo 的脚本:
D:\Qt\QtIFW-3.0.6\bin\repogen.exe -p client\packages client\clientRepository
这是为了制作安装程序:
D:\Qt\QtIFW-3.0.6\bin\binarycreator.exe --online-only -c client\config\config_online.xml -p client\packages client\OnlineInstaller.exe
config_online.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>4x4Basic name</Name>
<Version>1.0.0</Version>
<Title>4x4Basic title</Title>
<Publisher>The AlexLPN Company</Publisher>
<StartMenuDir>Board4x4</StartMenuDir>
<TargetDir>@HomeDir@/Board4x4/Basic4x4</TargetDir>
<RemoteRepositories>
<Repository>
<Url>http://github.com/alexlyapin/Basic4x4/clientRepository</Url>
<Enabled>1</Enabled>
<DisplayName>Example repository</DisplayName>
</Repository>
</RemoteRepositories>
</Installer>
updates.xml:
<?xml version="1.0" encoding="utf-8" ?>
<Updates>
<ApplicationName>{Basic4x4}</ApplicationName>
<ApplicationVersion>1.0.0</ApplicationVersion>
<Checksum>true</Checksum>
<PackageUpdate>
<Name>Basic4x4</Name>
<DisplayName>Basic4x4 component</DisplayName>
<Description>This component is uncheckable.</Description>
<Version>1.0.0</Version>
<ReleaseDate>2015-12-01</ReleaseDate>
<SortingPriority>40</SortingPriority>
<Checkable>false</Checkable>
<UpdateFile UncompressedSize="56605917" CompressedSize="15509593" OS="Any"/>
<DownloadableArchives>iconengines.7z,imageformats.7z,platforms.7z,styles.7z,translations.7z,content.7z</DownloadableArchives>
<Licenses>
<License name="License agreement" file="license.txt"/>
</Licenses>
<SHA1>3ef56b443d43c3d49ee983d7d1f5e6cd6280e30b</SHA1>
</PackageUpdate>
</Updates>
包作为“https://github.com/alexlyapin/Basic4x4/tree/master/clientRepository”上传到 GitHub 存储库
右边有 Basic4x4 文件夹,Updates.xml 和 license.txt
当我制作安装程序并尝试测试存储库时,出现错误:
Updates.xml: 解析元素时出错
所以,要么位置不对,要么有 xml 行。有人可以检查一下或给我一些建议吗?
谢谢!
我找到了解决办法。关键是,GitHub 不会给你真正的存储库,因为它是由某些托管提供的,因此,文件索引是不可能的。
我在那里创建了免费托管和上传存储库。之后一切正常。
我还没有亲自尝试过,但是使用 github raw 是可行的。
使用
https://raw.githubusercontent.com/alexlyapin/Basic4x4/master/clientRepository/Updates.xml
而不是
https://github.com/alexlyapin/Basic4x4/raw/master/clientRepository/Basic4x4/1.0.0imageformats.7z
我想知道,为什么关于 QtIFM 的信息如此缺乏? 所以,基本上我已经成功创建了离线安装程序,但现在在线安装程序出现了一些问题。 这是我制作 repo 的脚本:
D:\Qt\QtIFW-3.0.6\bin\repogen.exe -p client\packages client\clientRepository
这是为了制作安装程序:
D:\Qt\QtIFW-3.0.6\bin\binarycreator.exe --online-only -c client\config\config_online.xml -p client\packages client\OnlineInstaller.exe
config_online.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>4x4Basic name</Name>
<Version>1.0.0</Version>
<Title>4x4Basic title</Title>
<Publisher>The AlexLPN Company</Publisher>
<StartMenuDir>Board4x4</StartMenuDir>
<TargetDir>@HomeDir@/Board4x4/Basic4x4</TargetDir>
<RemoteRepositories>
<Repository>
<Url>http://github.com/alexlyapin/Basic4x4/clientRepository</Url>
<Enabled>1</Enabled>
<DisplayName>Example repository</DisplayName>
</Repository>
</RemoteRepositories>
</Installer>
updates.xml:
<?xml version="1.0" encoding="utf-8" ?>
<Updates>
<ApplicationName>{Basic4x4}</ApplicationName>
<ApplicationVersion>1.0.0</ApplicationVersion>
<Checksum>true</Checksum>
<PackageUpdate>
<Name>Basic4x4</Name>
<DisplayName>Basic4x4 component</DisplayName>
<Description>This component is uncheckable.</Description>
<Version>1.0.0</Version>
<ReleaseDate>2015-12-01</ReleaseDate>
<SortingPriority>40</SortingPriority>
<Checkable>false</Checkable>
<UpdateFile UncompressedSize="56605917" CompressedSize="15509593" OS="Any"/>
<DownloadableArchives>iconengines.7z,imageformats.7z,platforms.7z,styles.7z,translations.7z,content.7z</DownloadableArchives>
<Licenses>
<License name="License agreement" file="license.txt"/>
</Licenses>
<SHA1>3ef56b443d43c3d49ee983d7d1f5e6cd6280e30b</SHA1>
</PackageUpdate>
</Updates>
包作为“https://github.com/alexlyapin/Basic4x4/tree/master/clientRepository”上传到 GitHub 存储库 右边有 Basic4x4 文件夹,Updates.xml 和 license.txt
当我制作安装程序并尝试测试存储库时,出现错误: Updates.xml: 解析元素时出错
所以,要么位置不对,要么有 xml 行。有人可以检查一下或给我一些建议吗? 谢谢!
我找到了解决办法。关键是,GitHub 不会给你真正的存储库,因为它是由某些托管提供的,因此,文件索引是不可能的。
我在那里创建了免费托管和上传存储库。之后一切正常。
我还没有亲自尝试过,但是使用 github raw 是可行的。
使用
https://raw.githubusercontent.com/alexlyapin/Basic4x4/master/clientRepository/Updates.xml
而不是
https://github.com/alexlyapin/Basic4x4/raw/master/clientRepository/Basic4x4/1.0.0imageformats.7z