qtqt-installer

How to create online installer with Qt Installer Framework properly


I wonder, why there is such lack of information about QtIFM? So, basically I have successfully created offline installer, but now have some problem with online one. Here is my script for making repo:

D:\Qt\QtIFW-3.0.6\bin\repogen.exe -p client\packages client\clientRepository

This is for making installer:

D:\Qt\QtIFW-3.0.6\bin\binarycreator.exe --online-only -c client\config\config_online.xml -p client\packages client\OnlineInstaller.exe

The 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>

The 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>

The package is uploaded to GitHub repository as "https://github.com/alexlyapin/Basic4x4/tree/master/clientRepository" right there are located Basic4x4 folder, Updates.xml and license.txt

When I make the installer and try to test the repo, I get the error: Updates.xml: error occurred while parsing element

So, either the location is wrong or some xml lines. Can someone please check or advice me something? Thank you!


Solution

  • I haven't personally tried it, but using github raw would work.

    Use

    https://raw.githubusercontent.com/alexlyapin/Basic4x4/master/clientRepository/Updates.xml

    instead of

    https://github.com/alexlyapin/Basic4x4/raw/master/clientRepository/Basic4x4/1.0.0imageformats.7z