begin process at 2012 02 10 15:04:18
  Trouver un code source :
 
dans
 

50 commentaire(s) de tcedi sur des sources sur tout CodeS-SourceS

Déposé sur Système de mise à jour automatique par internet : t.c.e.d.i. ...

Salut à tous,

BIB34690, le développement d'une version .NET (C#) a débuté il y a longtemps déjà, mais, faute de temps, elle est encore très loin d'être finie. Pas de date de sortie prévue. Toujours par manque de temps, le développement de la version Delphi sera très vraisemblablement abandonné. A suivre, donc...

ATTAQUE, le problème est clair : le lien vers le fichier d'informations de mises à jour est incorrect. Il s'agit certainement d'une faute de frappe. Il est également possible que le fichier d'informations de mises à jour (update information file) n'ait pas été envoyé via FTP dans le bon répertoire ou que le transfert de celui-ci ait échoué. Le message d'erreur de la capture d'écran montre bien qu'à la place du fichier d'informations de mises à jour T.C.E.D.I. Direct Update, tu as reçu une page d'erreur 404 en XHTML 1.0, générée automatiquement par le serveur Web de ton hébergeur. T.C.E.D.I. Direct Update ne reconnaissant pas le code XHTM 1.0 comme une commande de son langage de script t'affiche le message d'erreur de commande inconnue (unknown command). Corrige le lien et cela fonctionnera correctement ! N'oublie pas que les majuscules et les minuscules ont de l'importance ! Evite également les espaces et autres caractères spéciaux. Je peux te garantir que la version existante fonctionne ! Elle est utilisée dans plusieurs entreprises. Je l'ai utilisée pour plusieurs projets et quelques auteurs de gratuiciels et partagiciels utilisent la version non-libre sans problème.

Bonne programmation.
Posté le : 30/06/2009 22:51:35

Déposé sur Système de mise à jour automatique par internet : t.c.e.d.i. ...

Merci nirega !

Si je résume la situation, cela donne :
- Avec la première version de votre logiciel, le lancement de T.C.E.D.I. Direct Update s'effectue sans souci. La mise à jour est détectée, réalisée et les fichiers d'installation téléchargés sont supprimés (je suppose que c'est cela que vous entendez par "supprime l'exe de la mise à jour").

- Avec la version mise à jour de votre logiciel, le lancement de T.C.E.D.I. Direct Update ne s'effectue plus. Je suppose qu'un message d'erreur s'affiche ou que vous "attrapez" une erreur avec un "On Error Goto XXX" ou un "On Error Resume Next". Quelle est cette erreur ? Avez-vous essayé de lancer T.C.E.D.I. Direct Update manuellement ? Si cela fonctionne en manuel, c'est qu'il doit s'agir d'un problème dans le code de lancement de la mise à jour de la nouvelle version de votre programme (faute de frappe dans le chemin, ou autre).

Si T.C.E.D.I. Direct Update ne démarre pas lorsqu'il est lancé manuellement, merci de me faire parvenir votre script de mise à jour et le script d'installation de l'exe de la mise à jour.

Bonne prog. !
Posté le : 26/02/2007 19:25:31

Déposé sur Système de mise à jour automatique par internet : t.c.e.d.i. ...

Merci, ZONEBLEUE !

Pour fermer T.C.E.D.I. Direct Update lorsque la mise à jour est terminée, placer la commande suivante comme dernière ligne du script de mise à jour : OFF

Vous pouvez également (re)lancer votre application mise à jour avant de fermer T.C.E.D.I. Direct Update. Pour ce faire mettre ceci en fin de script :

EXE \NomDeVotreApplication.exe
OFF

Remarque : Vous pouvez utiliser un chemin relatif ou un chemin absolu. Pour plus d'informations à ce sujet, ainsi que sur les commandes disponibles, merci de consulter le manuel et les exemples de scripts.
Posté le : 14/02/2007 22:08:50

Déposé sur Système de mise à jour automatique par internet : t.c.e.d.i. ...

Bonjour,

L'erreur HTTP 403 (accès interdit) est claire. Le tout est de trouver la cause exacte de ce refus d'accès.

Le plus simple serait que vous me fassiez parvenir le contenu de votre script de mise à jour. Si vous ne désirez pas qu'il soit public, vous pouvez me le faire parvenir (via copier/coller) par l'intermédiaire du formulaire suivant : http://www.tcedi.com/contactus-fr.html

Bonne prog. !
Posté le : 20/08/2006 01:15:14

Déposé sur Récupérer la taille d'un fichier à la façon de l'explorateur ...

C'est clair, Soldier8514 !

FileLen retourne le nombre d'octets d'un fichier sous forme d'un entier long (Long).
Limite : 1,9999999999 Go, pour être exact !
Au delà, on passe dans les négatifs jusque plus ou moins 4 Go.

Les APIs du système d'exploitation sont là pour combler les faiblesses du VB (et de FileLen)...
Posté le : 18/06/2006 22:46:43

Déposé sur Supprimer un répertoire et tout son contenu (sous-dossiers et...

Je vous envoie un message CS avec mon adresse e-Mail de manière à ce que vous puissiez m'envoyer l'arborescence posant le problème compressée en 7z ou autre.

Ainsi, je pourrai certainement reproduire le problème et y trouver une solution...

P.S. : Pour la mise en cache, c'est pareil chez moi, mais la plupart des gens la laissent active...

P.P.S. : J'aimerais vraiment savoir si ce sont des dossiers ou des fichiers qui posent le problème, mais également si l'explorateur Windows était ouvert sur le dossier ou un des sous-dossiers (cela pose parfois problème, cfr. limitations) lors de l'exécution de la fonction.

Bonne prog. !
Posté le : 25/05/2006 12:57:39

Déposé sur Supprimer un répertoire et tout son contenu (sous-dossiers et...

Pardonnez-moi, mais le comportement de cette fonction est tout sauf aléatoire !

En mode fichiers vides seulement, elle réalise ceci :

1. Pour chaque dossier, elle génère une liste des dossiers et fichiers que le répertoire contient.

2. Elle traite chaque élément de la liste constituée (pas d'interruption si échec) :

   a. Si c'est un dossier elle s'appelle récursivement pour ce répertoire et effectue le même traitement.

   b. Si c'est un fichier et que celui-ci a une taille de 0 octet, il est supprimé.

Vous pouvez facilement vérifier son fonctionnement :

1. Créez un nouveau dossier.
2. Placez-y des fichiers vides et non-vides.
3. Placez-y des sous-dossiers (Créez-en des nouveaux).
4. Pour chaque sous-dossier, appliquez la même procédure avec des variantes, afin de traiter tous les cas possibles.
5. Effectuez cela jusqu'à obtenir des arborescences de tailles variables de 5 niveaux au moins (sinon c'est trop facile).

ATTENTION : N'y mettez aucune image ou vidéo pour ne pas fausser les résultats ! L'explication de cette remarque vient juste après...

Je suppose que ce que vous entendez par comportement aléatoire, c'est que certains dossiers qui sont pourtant "vides" (j'insiste sur les guillements) ne sont pas supprimés, alors que d'autres ne posent aucun problème !

Si c'est bien le cas, je suppose également qu'à un moment ou à un autre ce dossier a contenu des images et/ou vidéos. Ouvrez l'"Explorateur Windows", Cliquez sur le menu "Outils", puis sur "Options des dossiers...". Allez dans l'onglet "Affichage". Vérifiez dans les "Paramètres avancés" qu'"Afficher les fichiers et dossiers cachés" est bien activé et surtout que "Masquer les fichiers protégés du système d'exploitation (recommandé)" est bien décoché (vous devrez confirmer en cliquant sur "Oui") ! Ouvrez un des dossiers "vide" qui n'a pas été supprimé par la fonction. Vous devriez y voir un fichier "Thumbs.db" qui n'est pas vide. C'est un fichier système caché qui sert à stocker les miniatures sous Windows 2000/XP. Il peut il y en avoir d'autres selon le dossier...

Si un fichier est apparu avec le changement de configuration, il est tout à fait normal que la fonction n'aie pas supprimé le dossier (vu qu'il n'est pas vraiment vide).

Pour pallier à ce problème, vous pouvez évidemment rajouter un test sur le nom du fichier "Thumbs.db".

Voilà,

Sans plus de détails sur ce que vous essayez de supprimer, je ne peux faire plus.

Je ne dis pas qu'il ne peut pas il y avoir de bug (l'erreur est humaine), mais je n'ai pas pu reproduire de phénomène de comportement aléatoire... Peut-être qu'avec plus d'informations, je pourrais reproduire le problème...

Bonne programmation !
Posté le : 25/05/2006 11:11:12

Déposé sur Supprimer un répertoire et tout son contenu (sous-dossiers et...

Etrange, la modification fonctionne comme prévu chez moi !

Peut-être n'ai-je pas été assez clair dans mes explications... Il est également possible que je n'aie pas compris ce que vous vouliez...

Quoi qu'il en soit, j'ai posté une nouvelle version avec les modifications supposées désirées...

Si ce n'est pas encore cela, dites-m'en plus sur votre objectif (exemple concret), cher PaTaTe.

Bonne programmation !
Posté le : 24/05/2006 20:47:04

Déposé sur Supprimer un répertoire et tout son contenu (sous-dossiers et...

Cher PaTaTe,

Pour obtenir le résultat escompté, il suffit d'effectuer les modifications suivantes :

1. Partir de la deuxième version de la fonction.

2. Remplacer : Public Function SupprimeRépertoire(Répertoire As String) As Boolean
   Par : Public Function SupprimeRépertoire(Répertoire As String, Optional ByVal FichiersVidesSeulement As Boolean = False) As Boolean

3. Remplacer l'appel récursif : SupprimeRépertoire (MyArray(J))
   Par : SupprimeRépertoire MyArray(J), FichiersVidesSeulement

4. Remplacer le code de suppression de fichiers :

   ' On s'assure que le fichier n'est pas en lecture seule.
   SetAttr Val, vbReadOnly = 0
   ' On supprime le fichier.
   Kill (Val)

   Par :

   If (Not FichiersVidesSeulement) Then
       ' On s'assure que le fichier n'est pas en lecture seule.
       SetAttr Val, vbReadOnly = 0
       ' On supprime le fichier.
       Kill (Val)
   Else
       If (FileLen(Val) = 0) Then
            ' On s'assure que le fichier n'est pas en lecture seule.
            SetAttr Val, vbReadOnly = 0
            ' On supprime le fichier.
            Kill (Val)
       End If
   End If

5. Veiller à passer True dans l'appel de la fonction.

C'est tout !

Bonne programmation !
Posté le : 24/05/2006 08:19:55

Déposé sur Système de mise à jour automatique par internet : t.c.e.d.i. ...

Enibris,

Merci pour tes encouragements.

"Un peu brouillon", c'est vrai ! Lorsque j'ai créé T.C.E.D.I. Direct Update, je n'avais vraiment pas le temps (c'est toujours le cas maintenant, d'où le temps entre les différentes versions), mais il fallait que j'aille très vite. J'ai fait pour un mieux... Je travaille depuis maintenant plus d'un an sur la version C# et sur une version Delphi de T.C.E.D.I. Direct Update, mais vu que je n'ai pas beaucoup de temps, ça avance très très lentement. Au programme moteurs d'interprétation multiples avec instanciations via le principe des factories, nombreuses nouvelles fonctionnalités, mais je n'en dis pas plus... Pour information, je ne crois pas que je ferai encore beaucoup évoluer la version VB, ça dépendra du temps dont je dispose...

Pour ce qui est de mettre l'adresse de base du site Web dans le fichier de configuration (.cfg),   je trouve ça limitant. Je m'explique : Peut-être ne disposes-tu que d'un serveur Web, mais en général, dans les entreprises, on en utilise plusieurs. Donc on télécharge un fichier sur l'un, un second sur l'autre et ainsi de suite. Même si j'en conviens, il est lourd de répéter plusieurs fois la même adresse, cela permet une flexibilité maximale. Et j'avoue ne pas avoir eu envie d'appliquer le même système (relatif/absolu) pour les adresses Web que pour les chemins de fichiers. Mais le code est là, à ta disposition, et rien ne t'empêche de le modifier en ce sens (en accord avec la GNU GPL) et d'en faire profiter la communauté CodeS-SourceS.

En ce qui concerne les fichiers de configuration, ..., je l'ai ai séparés de cette manière par design. Le fichier de langue est un fichier à part de façon à pouvoir être remplacé par le programme à mettre à jour ou par un programme d'installation créé avec InnoSetup, InstallShield ou autre. Le fichier de version, que tu dois remplacer via ton script par un nouveau fichier de version (contenant le nouveau numéro de version) lors de chaque mise à jour, se devait d'être à part. Dans les versions futures, il est prévu qu'il puisse être mis à jour directement par T.C.E.D.I. Direct Update, de manière automatique ou paramétrée. Le fichier de configuration ne devrait en théorie n'être modifié ou mis à jour qu'en cas de changement de nom du logiciel ou de changement de nom de domaine que ce soit par T.C.E.D.I. Direct Update ou par un autre système. Le fichier d'informations de mises à jour est indispensable pour les mises à jour en cascades, la prise en charge des mises à jour pour des utilisateurs finaux pouvant avoir diverses versions du logiciel, donner des informations sur chaque mise à jour, permettre d'exécuter des scripts se trouvant sur différents serveurs, ... Pour ce qui est des fichiers de scripts, je crois que leur présence va de soi ! 5 fichiers au total si tu n'as qu'une mise à jour, c'est encore raisonnable, non ?!?

Comme je l'ai dit plus haut, T.C.E.D.I. Direct Update ne met pas le fichier de version à jour tout seul ! Tu dois le faire via ton script de mise à jour.

Extrait du manuel :

"TRES IMPORTANT : Lors d'une mise à jour, le fichier de version doit impérativement être remplacé ou mis à jour."

Consulte le script d'exemple "2000.tdu" et tu verras que la dernière commande DWN est pour le fichier de version.

Extrait :

"DWN http://www.monsiteweb.com/monprog.ver;\Mon Programme.ver"

Que veux-tu dire par rajouter ZIP ?

Bonne prog. à toi aussi !
Posté le : 25/01/2006 19:10:18

1 2 3 4 5


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales