Relancer une application vb6 après mise à jour [Résolu]

cs_Axen 49 Messages postés mercredi 8 novembre 2000Date d'inscription 24 mars 2010 Dernière intervention - 18 mars 2009 à 15:23 - Dernière réponse : cs_Axen 49 Messages postés mercredi 8 novembre 2000Date d'inscription 24 mars 2010 Dernière intervention
- 18 mars 2009 à 15:47
Bonjour,
je développe une petite application portable en vb6 qui se met à jour via internet mon souci se trouve après la mise à jour, certain me surement diront détail sans importance mais bon... donc voici le sub qui me pose problème

Private Sub MiseAJour()
Dim Fso As Object
Dim Fichier As String, Ver As String, AppliPath As String
Dim retval As Long

AppliPath = App.Path & ""
Ver = ""
Set Fso = CreateObject("Scripting.FileSystemObject")
Do Until Ver <> ""
    Ver = Fso.GetFileVersion(AppliPath & "WishListDB.exe")
    DoEvents
Loop
Fichier = "OldWLDB_" & Ver & ".exe"
Name AppliPath & "WishListDB.exe" As AppliPath & Fichier
Do Until Fso.GetFileVersion(AppliPath & Fichier) <> ""
    DoEvents
Loop
If Not ExistFolder(AppliPath & "OldVersions") Then MkDir AppliPath & "OldVersions"
FileCopy AppliPath & Fichier, AppliPath & "OldVersions" & Fichier
Do Until Fso.GetFileVersion(AppliPath & "OldVersions" & Fichier) <> ""
    DoEvents
Loop
Name AppliPath & "WishListDB_2.exe" As AppliPath & "WishListDB.exe"
Do Until Fso.GetFileVersion(AppliPath & "WishListDB.exe") <> ""
    DoEvents
Loop
MsgBox "Mise à jour effectuée, cliquez sur 'OK' pour relancer l'application !"
Shell AppliPath & "WishListDB.exe"
End
End Sub

la commande me posant problème étant en vert lorsque j'exécute l'appli, suite à une maj j'ai le message suivant :
erreur d'exécution '75'
erreur dans le chemin d'accès

Alors je me doute bien que renommer l'exe que je suis entrain d'exécuter ne doit pas aider mais je n'ai pas trouvé d'autre moyen et cela fonctionne quand même !
au moment de l'erreur j'ai bien dans mon dossier
l'appli WishListDB.exe a bien été renommée en OldWLDB_x.x.x.x.exe
la copie de OldWLDB_x.x.x.x.exe est dans le dossier OldVersions
la mise à jour WishListDB_2.exe a bien été renommée en WishListDB.exe

la suppression de OldWLDB_x.x.x.x.exe dans le dossier de l'appli se fait à la relance seulement (dans un autre sub)

si il n'y a pas de soluce je repasserais par une relance manuelle de l'appli ce n'est pas bien grave, c'est juste que ça me titille !

ah oui et au vue de ce que j'ai lu en recherchant (si si promis j'ai recherché avant de poser la question ^^) , je ne suis pas sous win95 mais sous XP
Afficher la suite 

2 réponses

Répondre au sujet
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 18 mars 2009 à 15:35
+3
Utile
tu peux effectivement pas te renommer toi même... (ben ouais ^^)

utilise un bête launcher.

quand je lance ce Launcher, donc :
- s'assurer que WishListDB.exe ne tourne pas déjà
- il cherche un 'WishListDB_2.exe'
- s'il le trouve, tu archive ou supprime 'WishListDB.exe'
tu renomme la nouvelle version
- tu lance 'WishListDB.exe'

et voilà ^^

dans ton soft, coté mise a jour, tu as juste a télécharger WishListDB_2.exe
de proposer par exemple a l'user de relancer ou non le soft.

tu n'a plus qu'a initier le launcher, et stopper ton soft.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Renfield
cs_Axen 49 Messages postés mercredi 8 novembre 2000Date d'inscription 24 mars 2010 Dernière intervention - 18 mars 2009 à 15:47
0
Utile
ralala c'est bien d'avoir un avis extérieur, à trop avoir le nez dedans on ne voit plus ce qui parait évident, l'idée du launcher est excellente je te remercie
je risque de l'adapter à ma sauce pour en faire un espère de switcher car l'appli est déjà en cours d'utilisation et je veux que tout reste transparant pour les utilisateurs mais le principe est le même !
Commenter la réponse de cs_Axen

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.