grig_p
grig_pMay 2, 2017, 3:36 a.m.

Qt Installer Framework и удаленный репозиторий

Здравствуйте!

Начал разбираться в online инсталляторах. Уперся в вопрос об удаленном репозитории для хранения пакетов для инсталляции У меня нет собственного хостинга и нет возможности выложить файлы на свой сервер.
Я могу воспользоваться для хранения файловым хостингом, например yandex диск?
Я разместил файлы из папки repository, созданной в ручном режиме с использованием bat файла, соблюдая структуру папок и файлов в репозитории. В файле config.xml указал на ссылку на папку , в которой лежит Updates.xml. В результате при инсталляции возникает ошибка:
Failure to fetch repositories
Что я сделал неправильно?
Заранее благодарен за ответ.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

8
Evgenii Legotckoi
  • May 2, 2017, 10:26 a.m.

Что касается яндекс диска, то не прокатит. Он создаёт ссылку, в которой не получится ходить по директориям. Нужен сайт. Домен в зоне RU стоит 90-130 рублей в год. Возьмите любой бесплатный хостинг и будет Вам счастье.

config.xml приведите, какой там путь вообще установлен.

Что касается структуры, то Updates.xml должен лежать рядом с директорией, где лежат все файлы. Например, в статье был задан следующий путь:

<Url>http://www.evileg.ru/software/helloinstaller/</Url>

В итоге в папке helloinstaller находится файл Updates.xml и каталог ru.evileg.helloinstaller , в котором и лежит всё, что необходимо для установки.

    grig_p
    • May 3, 2017, 1:43 a.m.

    В config.xml я записал то, что мне вернул яндекс диск, ссылку на папку, в которой лежит updates.xml. Вот так выглядит у меня config.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <Installer>
        <Name>ARM_Proton-KA</Name>
        <Version>1.0.0</Version>
        <Title>ARM_Proton-KA Installer</Title>
        <Publisher>NtcMks</Publisher>
        <StartMenuDir>ntcmks\ARM_Proton-KA</StartMenuDir>
        <TargetDir>@ApplicationsDir@\ntcmks\ARM_Proton-KA</TargetDir>
            <AllowSpaceInPath>true</AllowSpaceInPath>
        <RunProgram>@TargetDir@\bin\arm_main.exe</RunProgram>
        <RemoteRepositories>
            <Repository>
                <Url>https://yadi.sk/d/l1mXQQ983HXqhy/</Url>
                <Enabled>1</Enabled>
                <DisplayName>ARM_Proton-KA repository</DisplayName>
            </Repository>
        </RemoteRepositories>
    </Installer>
    >В итоге в папке helloinstaller находится файл Updates.xml и каталог ru.evileg.helloinstaller , в котором и лежит всё, что >необходимо для установки.
    А ссылку в теге "Url" я должен указать на эту папку helloinstaller?
      Evgenii Legotckoi
      • May 3, 2017, 2 a.m.
      • The answer was marked as a solution.

      Как я и говорил, не работает из-за яндекс диска.

      Вбейте в адресную строку https://yadi.sk/d/l1mXQQ983HXqhy/Updates.xml и посмотрите, что отдаст Яндекс.диск

      А потом вбейте в адресную строку http://www.evileg.ru/software/helloinstaller/Updates.xml и посмотрите, что отдаст мой первый сайт

      Инсталлятору нужно получить чистый документ Updates.xml, а не то, что отдаёт Яндекс.диск

      В теге Url необходимо указать путь к каталогу, в котором будет находиться Updates.xml и папка с данными. По сути url у вас указан правильно. Но Яндекс.Диск отдаёт контент в обёртке Яндекс диска. Вам нужен сервер, который будет отдавать контенты обычным способом. Или берите бесплатный хостинг, как я сказал выше, или поднимайте локальный сервер, если охота просто проверить работу инсталлятора.

        grig_p
        • May 3, 2017, 2:15 a.m.

        Спасибо большое за развернутый ответ! Буду пробовать.

          grig_p
          • May 3, 2017, 6:32 a.m.

          Получилось у меня с помощью вот этого:
          http://pcpro100.info/kak-byistro-sozdat-ftp-server/
          Спасибо!

            Andrei Yankovich
            • May 7, 2019, 12:17 p.m.

            можно ли в место http использовать ftp протокол
            или развернуть репазиторий на кастомном порту ?
            если да то как ?

              Evgenii Legotckoi
              • May 8, 2019, 5:59 p.m.

              Думаю, что нужно просто поменять протокол в строке репозитория. Тогда ftp должен подхватываться. Насчёт кастомного порта в QtIFW не знаю. А кастомный порт для самого FTP можно настроить, но это вопрос, который сам по себе не относится к QtIFW.

                Andrei Yankovich
                • May 24, 2019, 2:28 a.m.

                работает любой http сервер, и можно использовать обсалютно любой порт
                пример

                    <RemoteRepositories>
                        <Repository>
                            <Url>http://178.124.160.6:3030/A/B</Url>
                            <Enabled>1</Enabled>
                            <DisplayName>repo</DisplayName>
                        </Repository>
                    </RemoteRepositories>
                

                  Comments

                  Only authorized users can post comments.
                  Please, Log in or Sign up
                  e
                  • ehot
                  • March 31, 2024, 9:29 p.m.

                  C++ - Тест 003. Условия и циклы

                  • Result:78points,
                  • Rating points2
                  B

                  C++ - Test 002. Constants

                  • Result:16points,
                  • Rating points-10
                  B

                  C++ - Test 001. The first program and data types

                  • Result:46points,
                  • Rating points-6
                  Last comments
                  k
                  kmssrFeb. 9, 2024, 2:43 a.m.
                  Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                  Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                  EVA
                  EVADec. 25, 2023, 6:30 p.m.
                  Boost - static linking in CMake project under Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
                  J
                  JonnyJoDec. 25, 2023, 4:38 p.m.
                  Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
                  G
                  GvozdikDec. 19, 2023, 5:01 a.m.
                  Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
                  Now discuss on the forum
                  a
                  a_vlasovApril 14, 2024, 1:41 p.m.
                  Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
                  Павел Дорофеев
                  Павел ДорофеевApril 14, 2024, 9:35 a.m.
                  QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь
                  f
                  fastrexApril 4, 2024, 11:47 a.m.
                  Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
                  AC
                  Alexandru CodreanuJan. 19, 2024, 7:57 p.m.
                  QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…

                  Follow us in social networks