Topic de RobertHeinIein :

Recherche Framework simple et efficace pour faire des interfaces d'installation

  • 1

J'ai trouvé "Qt Installer Framework" mais je ne trouve pas de projet qui l'utilisent, tout le monde est passé à appimage ou flatpak. https://image.noelshack.com/fichiers/2019/28/2/1562659270-jesus-bof.png

J'ai besoin d'un d'un framework du même genre qui fonctionne sur toutes les distributions et si possible marche pour linux et également windows. https://image.noelshack.com/fichiers/2019/28/2/1562659106-jesus-bofbof.png

J'avais trouvé un mec sur la scène linux qui a fait son propre framework mais qui ne veut pas le partager, je suis deg. J'ai la flemme de coder ce truc et en plus il faudra le faire deux fois. https://image.noelshack.com/fichiers/2018/32/3/1533742506-spirou-accusateur.png
La multiplication des formats appimage/flatpak/snap/format de paquet divers/etc commence vraiment à casser les couilles. https://image.noelshack.com/fichiers/2017/26/6/1498868956-angrylepen.png
non appimage c'est un banger

Le 30 septembre 2024 à 06:59:47 ContrapunctusI a écrit :
non appimage c'est un banger

Osef que tu trouves ou non qu'appimage c'est un banger le pyj, j'ai besoin de faire un installeur traditionnel qui ne nécessite pas de dependances tierces (que ce soit ygd ou zenity). https://image.noelshack.com/fichiers/2020/19/7/1589112552-img-20200510-140700-removebg-preview.png

Le 30 septembre 2024 à 07:01:02 RobertHeinIein a écrit :

Le 30 septembre 2024 à 06:59:47 ContrapunctusI a écrit :
non appimage c'est un banger

Osef que tu trouves ou non qu'appimage c'est un banger le pyj, j'ai besoin de faire un installeur traditionnel qui ne nécessite pas de dependances tierces (que ce soit ygd ou zenity). https://image.noelshack.com/fichiers/2020/19/7/1589112552-img-20200510-140700-removebg-preview.png

bah je sais pas

Le 30 septembre 2024 à 07:02:21 ContrapunctusI a écrit :

Le 30 septembre 2024 à 07:01:02 RobertHeinIein a écrit :

Le 30 septembre 2024 à 06:59:47 ContrapunctusI a écrit :
non appimage c'est un banger

Osef que tu trouves ou non qu'appimage c'est un banger le pyj, j'ai besoin de faire un installeur traditionnel qui ne nécessite pas de dependances tierces (que ce soit ygd ou zenity). https://image.noelshack.com/fichiers/2020/19/7/1589112552-img-20200510-140700-removebg-preview.png

bah je sais pas

En passant je te recommande AppImage Launcher si tu ne connais pas déjà : https://github.com/TheAssassin/AppImageLauncher

Sans ça c'est vraiment chiant. https://image.noelshack.com/fichiers/2020/19/7/1589112552-img-20200510-140700-removebg-preview.png

Personne n'utilise "Qt Installer Framework" ? ou même si vous connaissez un projet qui l'utilise, que je puisse tester. https://image.noelshack.com/fichiers/2017/22/1496583962-risisingecigarette.png
Bon je vais poster ce que j'ai pour l'autre si quelqu'un deterre un jour. https://image.noelshack.com/fichiers/2017/22/1496583962-risisingecigarette.png

En mode yolo, flemme de baliser/indenter :

Qt Installer Framework download : https://download.qt.io/official_releases/qt-installer-framework/

export PATH=$PATH:~/Local/Qt/QtIFW-4.8.1/bin

binarycreator --help
repogen --help

1 Créer l'arborecense (mettre des variables pour "mon jeu"
mkdir -p MonJeuInstaller/config packages/com.monjeu.installer/meta packages/com.monjeu.installer/data

2 ajouter les fichiers à data

3 Créer config.xml dans config/

<Installer>
<Name>Mon Jeu</Name>
<Version>1.0.0</Version>
<Title>Installation de Mon Jeu</Title>
<Publisher>MonStudio</Publisher>
<TargetDir>@HomeDir@/MonJeu</TargetDir>
</Installer>

4 Créer package.xml dans meta/

<Package>
<DisplayName>Mon Jeu</DisplayName>
<Version>1.0.0</Version>
<Default>true</Default>
</Package>

5 Créer install-script.sh dans data/

  1. !/bin/bash

tar -xzf fichier1.tar.gz -C /destination/
cd /destination/ && ./some_command.sh

6 Rendre le script exécutable :

chmod +x MonJeuInstaller/packages/com.monjeu.installer/data/install-script.sh

7 Génrer l'installeur
cd MonJeuInstaller
binarycreator -c config/config.xml -p packages MonJeuInstaller.run

8 tester l'installeur
chmod +x MonJeuInstaller.run
./MonJeuInstaller.run

Ajouter des images :

1 Placez votre image (par exemple welcome.png) dans packages/com.monjeu.installer/meta/

2 Modifier package.xml pour inclure l'image

<Package>
<DisplayName>Mon Jeu</DisplayName>
<Version>1.0.0</Version>
<Default>true</Default>
<UserInterfaces>
<UserInterface>
<Page component="WelcomePage" image="welcome.png"/>
</UserInterface>
</UserInterfaces>
</Package>

Ajouter des choix d'installation :

1. Créez un fichier XML pour chaque composant dans un sous-dossier :

mkdir -p MonJeuInstaller/packages/com.monjeu.composant1/meta
mkdir -p MonJeuInstaller/packages/com.monjeu.composant2/meta

2. Créer package.xml pour chaque composant : Par exemple, pour com.monjeu.composant1/meta/package.xml :

<Package>
<DisplayName>Composant 1</DisplayName>
<Version>1.0.0</Version>
<Default>false</Default>
</Package>

3. Modifier le package.xml principal pour référencer les composants :

<Package>
<DisplayName>Mon Jeu</DisplayName>
<Version>1.0.0</Version>
<Default>true</Default>
<Dependencies>
<Dependency>com.monjeu.composant1</Dependency>
<Dependency>com.monjeu.composant2</Dependency>
</Dependencies>
<UserInterfaces>
<UserInterface>
<Page component="WelcomePage" image="welcome.png"/>
</UserInterface>
</UserInterfaces>
</Package>

Chosir chemin d'insallation :

1. Créer une page de choix : Dans le fichier package.xml, tu peux définir une page qui demande à l'utilisateur de choisir un dossier d'installation.

<UserInterfaces>
<UserInterface>
<Page component="InstallLocationPage"/>
</UserInterface>
</UserInterfaces>

2. Créer InstallLocationPage : Tu dois ajouter un fichier XML pour cette page dans le dossier meta. Voici un exemple simple :

<Page>
<Title>Choisir le chemin d'installation</Title>
<Description>Où voulez-vous installer Mon Jeu ?</Description>
<Field>
<Name>installPath</Name>
<Label>Chemin d'installation :</Label>
<Type>directory</Type>
<Default>@HomeDir@/MonJeu</Default>
</Field>
</Page>

Ce code va créer une page où l'utilisateur peut choisir un dossier.

Exemple de choix de composants :

Si tu as plusieurs composants, tu peux créer une page avec des cases à cocher pour que l'utilisateur choisisse ce qu'il veut installer.

1. Créer une page de choix de composants : Dans package.xml, tu peux ajouter :

<UserInterfaces>
<UserInterface>
<Page component="ComponentSelectionPage"/>
</UserInterface>
</UserInterfaces>

2. Définir ComponentSelectionPage : Crée un fichier XML qui contient les options :

<Page>
<Title>Choisissez les composants à installer</Title>
<Description>Veuillez sélectionner les composants que vous souhaitez installer.</Description>
<Field>
<Name>component1</Name>
<Label>Composant 1</Label>
<Type>boolean</Type>
<Default>false</Default>
</Field>
<Field>
<Name>component2</Name>
<Label>Composant 2</Label>
<Type>boolean</Type>
<Default>false</Default>
</Field>
</Page>

Résumé
Pages d'interface : Crée des pages pour poser des questions à l'utilisateur.
Choix de chemin : Demande où installer le logiciel.
Choix de composants : Permet de sélectionner les éléments à installer.

https://doc.qt.io/qtinstallerframework/qtifwexamples.html

C'est chiant bordel j'ai pas envie de me prendre la tête avec ça https://image.noelshack.com/fichiers/2021/07/4/1613639007-risichauve.png
  • 1

Données du topic

Auteur
RobertHeinIein
Date de création
30 septembre 2024 à 06:56:14
Nb. messages archivés
12
Nb. messages JVC
12
En ligne sur JvArchive 322