grig_p
May 2, 2017, 1:36 p.m.

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

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

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

Do you like it? Share on social networks!

8
Evgenii Legotckoi
  • May 2, 2017, 8:26 p.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, 11: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, noon
      • 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, 12:15 p.m.

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

          grig_p
          • May 3, 2017, 4:32 p.m.

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

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

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

              Evgenii Legotckoi
              • May 9, 2019, 3:59 a.m.

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

                Andrei Yankovich
                • May 24, 2019, 12:28 p.m.

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

                1. <RemoteRepositories>
                2. <Repository>
                3. <Url>http://178.124.160.6:3030/A/B</Url>
                4. <Enabled>1</Enabled>
                5. <DisplayName>repo</DisplayName>
                6. </Repository>
                7. </RemoteRepositories>

                  Comments

                  Only authorized users can post comments.
                  Please, Log in or Sign up
                  • Last comments
                  • IscanderChe
                    April 12, 2025, 5:12 p.m.
                    Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
                  • AK
                    April 1, 2025, 11:41 a.m.
                    Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
                  • Evgenii Legotckoi
                    March 9, 2025, 9:02 p.m.
                    К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
                  • VP
                    March 9, 2025, 4:14 p.m.
                    Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
                  • ИМ
                    Nov. 22, 2024, 9:51 p.m.
                    Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…