[CF-RS] - Mise à jour automatique application Windows

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

[CF-RS] - Mise à jour automatique application Windows

Message par E3DStef » 22 Mars 2018 11:50

Bonjour à tous.

CONTEXTE
Actuellement quand je fais une update de mon application Windows, je créé mon Build je l'envoi à mon utilisateur qui supprime l'ancienne version et copie/colle sur son bureau la nouvelle. Mais vu la quantité d'objets 3D c'est des MAJ de 300Mo (compréssé).

Et des fois juste pour un Fix dans un script... :-/

Bref bazooka pour la mouche.

OBJECTIF
J'aimerai arriver à faire des mises à jour optimisées en n'envoyant que la partie qui a changée.
Est-ce possible ? Connaissez-vous une méthode pour cela ?

BISOUNOURS
Dans le monde idéal c'est un peu la même méthode que comme cela se passe sous Android.
L'utilisateur est informé d'une mise à jour, elle se DL (auto ou manuelle) et s'applique d'une manière transparente.

Merci bcp de vos retours !

Bonne journée.

Stef
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Farstone
Messages : 187
Inscription : 04 Déc 2016 09:38

Re: [CF-RS] - Mise à jour automatique application Windows

Message par Farstone » 22 Mars 2018 14:40

Salut ! Je comprend la frustration que ça peux avoir, ayant moi même un modem 56k c'est désagréable de devoir télécharger des mises à jour de 4Go pour un programme, ou un jeu, quand tu sait que ce qui a changé est en faite minime. Après je suis un cas particulier et en 2018 c'est pas si grave que ton client ait une maj de 300mo à chaque fois (surtout sur PC).
Je vais te donner mon avis mais je n'en suis pas encore là dans mon projet, donc je n'ai fait aucune recherche concernant Unity en particulier, mais je sait que d'autres jeux utilisant unity y parviennent.
E3DStef a écrit :
22 Mars 2018 11:50
J'aimerai arriver à faire des mises à jour optimisées en n'envoyant que la partie qui a changée.
Est-ce possible ? Connaissez-vous une méthode pour cela ?
Ta question sous-entend que tu a déjà vérifier que les fichiers qui sont remplacer après un nouveau build ne le soit que sur les partis qui ont changé (Un assembly par exemple. Plutôt que tout réécrire, même ce qui n'a pas changé). Dans ce cas oui c'est tout à fait possible, et directement sur Unity logiquement, tu développe ton propre système d'update sous unity qui vérifie avant le lancement du jeux si une mise a jour est disponible sur ton ftp par exemple (sois par un système de version, ou de comparaison de fichiers), si oui il la télécharge (à toi de voir comment tu veux gérer la décompression et le remplacement des fichiers, il y a plusieurs façons de le faire). Je pense que tu peux trouver des 3rd party pour le faire (par exemple "Steam" offre ce service).

E3DStef a écrit :
22 Mars 2018 11:50
Dans le monde idéal c'est un peu la même méthode que comme cela se passe sous Android.
L'utilisateur est informé d'une mise à jour, elle se DL (auto ou manuelle) et s'applique d'une manière transparente.
La méthode transparente est compliqué car elle veux dire que ton exécutable ne change jamais (ce qui n'est pas le cas avec Unity il me semble, ou compliqué) Donc logiquement tu peux quand même le faire avec une version ou l'application redémarrerais si l'exe a changé.
Mais la encore sa sous-entend que tu puisse le faire, avant que les assembly ne soit chargé (car sinon il ne pourront pas être remplacer) mais si il ne sont pas chargé, tu n'a tout simplement plus de système de mise à jour :-D Donc le meilleur moyen selon-moi ça reste de faire la mise a jour quand le client n'est pas sur l’exécutable grâce à une autre application (c# ou c++ avec Qt marchent très bien) qui fait office de "launcher" ou "updater" Le launcher étant plus dans une optique ou ton jeu ne soit pas sensé être jouer si le client n'a pas la dernière mise a jour, pour un jeux multi par exemple c'est primordiale. Mais pour un jeux offline tu peux opter pour l'updater qui va juste prévenir le client qu'une mise à jour est disponible, et si il l'accepte, fermer l'exe, et la faire.
N'hésite pas si tu à d'autres question, bonne journée :super:

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: [CF-RS] - Mise à jour automatique application Windows

Message par E3DStef » 26 Mars 2018 15:56

Déjà merci pour tes infos.

On a déjà optimisé à fond mais quand tu as des clients dont le niveau techique est nul et que "dézipper sur le bureau" est compliqué pour eux...

Tu comprends mon besoin de rendre cette MAJ transparente.

D'où mes recherches/questions en ce sens.

Je continue à chercher et je mettrai ici ce que je trouve ^^

A+

Stef
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Farstone
Messages : 187
Inscription : 04 Déc 2016 09:38

Re: [CF-RS] - Mise à jour automatique application Windows

Message par Farstone » 26 Mars 2018 17:21

Je n'ai pas dit que l'utilisateur devait l'extraire à la main, c'est ton code qui le fait et qui se charge de remplacer correctement les fichiers si c'est un rar, sinon tu peux comparer les fichier de ton ftp a celui du client, et télécharger/remplacer ceux qui ont changer.

Avatar de l’utilisateur
Wamoga
Messages : 110
Inscription : 16 Jan 2018 14:56

Re: [CF-RS] - Mise à jour automatique application Windows

Message par Wamoga » 27 Mars 2018 13:30

ahaha j'ai une solution mais elle coute 100 balles et elle est très très très tordus XD

crée un compte steam dev et poste ton jeu dessus donne une clef beta testeur à ton commanditaire et met à jour les paquets.
la méthode steam s'occupera du reste, quand tu push des mise a jours il ne garde que les différences XD

(les 100euros c'est le ticket d'entrer pour pouvoir créer et poster sur steam dev)

ouais c'est tordu x)

sinon un git mais la niveau configuration faut savoir faire et avoir un serveur.

en arretant de plaisanter git fait exactement ce que tu cherche mais il faut lui configurer au préalable un source tree par exemple et lui expliquer qu'il faut qu'il pull a chaque fois avant de tester ton app

Répondre

Revenir vers « Unity le logiciel »