Copier un ficher .exe

Résolu
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006
-
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006
-
boujours a tous
 
voila mon probleme          je souhaite copier un fichier .exe ,present dans mes resource, dans un dossier de mon disque dure     et le lancer apres         j'ai un exemple du resultat que j'aimerai obtenir mais avec un fichier .bat

ex:

hd = System.Environment.GetEnvironmentVariable(

"HOMEDRIVE" )           'c:chemain = hd &

"\creerctrllan.bat" 

My.Computer.FileSystem.WriteAllBytes(chemain, System.Text.ASCIIEncoding.ASCII.GetBytes(
My.Resources.creerctrllan.ToCharArray),
False)
Shell(hd &

"\creerctrllan.bat")

voila ca marche bien en fichier batch mais pas avec mon fichier  "ctrllan.exe" 

merci a vous de m'aider dans la derniere etape de mon application  CtrlLan    bientot dispo en code source sur ce site

merci a tous .
romain

18 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Pourquoi n'essairais-tu pas tout simplement de faire :

My.Computer.FileSystem.WriteAllBytes(chemain,
My.Resources.creerctrllan,
False)


Chez moi ça a marché avec un exe que j'ai rajouter dans les ressources en faisant "Ajouter fichier existant". Ma ressource est de type "Binary".

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
Process.Start

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
pourquoi ton fichier se nomme .bat, si tu dis que c'est un .exe ?

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Rey,

apparemment son code fonctionne avec un *.bat mais pas avec un *.exe ^^

++
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006

non   Renfield
 en bat s'est un exemple de ce que voudrai faire avec un fichier exe
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006

oui mortalino  s'est ca
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Peut-être avec cette instruction :

System.IO.File.Copy

++
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006

comment      My.Computer.File"System.IO.File.Copy"
(chemain, "System.IO.File.Copy"
(My.Resources.creerctrllan.ToCharArray), False)
j'essai   mais si tu pouvais etre plus pressi    stp
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
c'est le coté ToCharArray qui coince, je pense.
y'a pas un ToByteArray ?





Renfield





Admin CodeS-SourceS

- MVP Visual Basic
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006

oui exact  Renfield
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
^^ vois ce que te dit Renfield, pour ma part, je ne suis pas encore en dotnet

désole et bon courage

++
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006

merci a toi mortalino  pour le courage on va essayer
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Pourquoi ça marche/marche pas.

La raison est simple, tu lis ta ressource au format texte et tu l'écrait sur le disque au format texte aussi.

Pour le fichier .bat, no soucy. Les fichiers .bat sont des fichiers textes donc ça passe.

Pour le fichier .exe, pas bon. Les fichiers .exe sont des fichiers binaires. Lorsqu'ils sont traiter comme des fichiers textes certains octets du fichier sont interpretés par les différentes fonctions et donc supprimer des données au fur et à mesure. Ce qui fait que le fichier écrit sur le disque ne correspond plus aux données que tu as en ressource.

Pour la solution, je ne la connais pas. Mais il faudrait que tu essaye de lire et ecrire tes données au format binaire plutot que texte.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006

oui merci Casy              je pensais bien a ca  mais comme je suis grand grand debutant je connais pas grand chose je ne sais meme pas (dans le code) a quel moment sa lit et ca ecrit je me doute just qu'il lit avant d'ecrire       si tu pouvais un peut plus m'aiguiller         stp  mais je vais faire de la bidouille avec   io.file copie bien que je^pensais que io signifiait inpout outpout             puis en lecture   WriteAllBytes  devrais convenir non               merci
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006

yhe ou      s'est ca s'est super t'est un dieu ( ou Déesse  )   lol        respect        a toi casy
sa marche de feu de dieu  toner de brest           merci a toi et a tous    simple chose ( que je doit pouvoire trouver) qui est le deusieme question sous entandu        comment le lancer ce fichier exe   maintenant        car pour mon bat je faisait comme suit

Shell(hd &

"\creerctrllan.bat")    'hd = c:

dans tous les cas merci merci beaucoup
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Déesse, NON, je n'ai aucun doute sur le sujet

Pour lancer l'exe, avec Shell ou Process.Start, les 2 marchent

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006

oui merci a tous        
Messages postés
38
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
19 septembre 2006

just car casy pour moi est le diminutif de casandra  (mais pour moi)   mais t'es sur de ton coup donc tu est dieu (pour moi tjs)  mdr         merci encore   et bientot vous rouverez cette application usine a gaz qui me sert pour acctive desacctiver mes connection reseau   jusqu'a 4 connection cituer dans conection reseau    merci a tous
romain