Как правильно создать онлайн-установщик с помощью Qt Installer Framework

#qt #qt-installer

#qt #qt-installer

Вопрос:

Интересно, почему так мало информации о QtIFM? Итак, в основном я успешно создал автономный установщик, но теперь у меня возникли некоторые проблемы с онлайн-установщиком. Вот мой скрипт для создания репозитория:

 D:QtQtIFW-3.0.6binrepogen.exe -p clientpackages clientclientRepository
  

Это для создания установщика:

 D:QtQtIFW-3.0.6binbinarycreator.exe --online-only -c clientconfigconfig_online.xml -p clientpackages clientOnlineInstaller.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>
  

Пакет загружается в репозиторий GitHub как «https://github.com/alexlyapin/Basic4x4/tree/master/clientRepository »
прямо там находится папка Basic4x4, Updates.xml и license.txt

Когда я создаю установщик и пытаюсь протестировать репозиторий, я получаю сообщение об ошибке: Updates.xml : произошла ошибка при синтаксическом анализе элемента

Итак, либо местоположение неверно, либо некоторые строки xml. Может кто-нибудь, пожалуйста, проверить или посоветовать мне что-нибудь? Спасибо!

Ответ №1:

Я лично не пробовал, но использование 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

Ответ №2:

Я нашел решение. Дело в том, что GitHub не предоставляет вам реальный репозиторий, поскольку он предоставляется каким-либо хостингом, поэтому индексация файлов невозможна.

Я создал бесплатный хостинг и загрузил туда репозиторий. После этого все работает правильно.