g
May 2, 2017, 3:36 a.m.

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

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

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

10% refund of hotel reservation amount on Booking
10% refund of hotel reservation amount on Booking
We offer a link with a 10% return on the amount of the order when booking a hotel through Booking
8

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

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

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

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

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

0
g

В 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?
0

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

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

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

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

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

1
g

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

0
g

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

0

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

0

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

1

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

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

Comments

Only authorized users can post comments.
Please, Log in or Sign up
July 22, 2019, 7:26 a.m.
Pavel K.

Qt - Test 001. Signals and slots

  • Result:68points,
  • Rating points-1
o
July 22, 2019, 6:26 a.m.
oksik193

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

  • Result:80points,
  • Rating points4
VD
July 21, 2019, 11:33 p.m.
Vlad Dolgov

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

  • Result:40points,
  • Rating points-8
Last comments
July 21, 2019, 6:03 a.m.
Evgenij Legotskoj

да, наверное, 32-х разрядную поддержку уже давно поа было выкинуть. К слову, у вас много проектов под Android? Часто много где вижу вопросы о том, пишет ли кто-то вообще на Qt под мобильные сист…
July 20, 2019, 2:41 p.m.
Andrej Jankovich

Очень полезная информация, увы уже выкинул поддержку 32 битных бедняг.
July 20, 2019, 9:31 a.m.
Mihailll

Вот так qDebug()<<"position:"<<event->scenePos();
July 20, 2019, 8:49 a.m.
Mihailll

Добрый день. Как можно узнать координату на графической сцене при отпускании клавиши мыши?
Now discuss on the forum
July 22, 2019, 8:41 a.m.
BlinCT

Вот только что нашел в инете, у человека такая же ошибка. Вроде бы таже самая проблема https://stackoverflow.com/questions/37633709/how-to-create-qtquick-window-outside-the-main-thread…
July 22, 2019, 3:58 a.m.
Evgenij Legotskoj

Добрый день! Нужен совет сообщества по разработке функционала проверки орфографии. Одна из идей - добавить проверку орфографии при наборе текста статей. Полагаю, что наиболее аде…
July 22, 2019, 3:01 a.m.
Evgenij Legotskoj

Возможно, если при сохранении файла установить права доступа на файл. Что-то такое должно быть у QFile
July 22, 2019, 3:01 a.m.
Evgenij Legotskoj

Я отрисовываю квадрат в его локальной системе координат от верхнего левого угла (-30,-30) до его правого нижнего угла (30,30). Поэтому мне нужно указать размеры объекта через boundingRect()…
July 20, 2019, 11:04 a.m.
Mihailll

Так и с ресурсами работает QImage image(":/Images/Images/1.png");
Looking for a Job?
5,000.00 руб. - 15,000.00 руб.
Дизайнер
Moskovskiy, Moscow, Russia
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB