Executable sur clé USB [Résolu]

Sephir0th77 5 Messages postés mardi 24 avril 2012Date d'inscription 27 avril 2012 Dernière intervention - 26 avril 2012 à 12:32 - Dernière réponse : ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention
- 27 avril 2012 à 15:08
Bonjour a tous,

je vous demande de l'aide après plus de 6h de recherche non fructueuse.

J'ai développé une application Windows form en VB.net sur Visual Studio 2010 Ultimate, lorsque je compile (F5) mon application dans Visual Studio, tout marche a merveille, je fais donc "publier" en tant qu'application exécutable seulement en ligne (je ne veux pas d'installation sur le PC) pour pouvoir exécuté l'application sur une clé USB.

Une fois sur la clé, je lance (si le framework n'est pas installé, il le fait sa c'est OK) et la j'ai une erreur.

J'utilise dans mon appli "Application.StartupPath" (dès le début) pour pouvoir récupérer entre autre la lettre lecteur de la clé, seulement il me donne le chemin d'un .exe se trouvant dans "C:\Users\monnom\AppData\Local\Apps\2.0\Z9OW6YH8.CK0\D856BK3Z.322\util..tion_3a28a371181b0a62_0001.0000_329389fed4e95ab5"

POURQUOI???

Je lance bien un exécutable se trouvant sur une clé (sa fait pareil en le mettant ailleurs), mais il m’exécute un truc qui sors de je ne sais ou qui pourtant correspond a mon application!

Pourquoi ce .exe a-t-il était créé? Pourquoi devient-il launcher principal ? comment remédier a cela siouplait aidé moi
Afficher la suite 

10 réponses

Répondre au sujet
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 27 avril 2012 à 10:20
+3
Utile
Normal je crois, il s'installe sur C, ce qui donne :

"C:\Documents and Settings\joe\Local Settings\Apps\2.0\QZ37487O.QNG\DMXPYNAD.X9M\fich..tion_f0dd9b7d6d6f083a_0001.0000_61f8dbc8f580fd2c\NonDuLogiciel.exe"

Je ne suis pas du tout certain qu'on puisse installer ça avec l'installation MST sur une clef USB, faudrait poser la question et voir si des paramètres de configurations le permettent, notamment...

Par contre tu peux essayer avec le logiciel gratuit
INSTALL CREATOR
Sans garantie.

Autre possibilité un peu lourde, c'est d'installer vbNet sur le PC, dans ce cas, le seul fait de mettre l'exe sur la clef USB (l'exe du programme et non de l'installation) le fait tourner sur clef USB.

Cordialement, Joe.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ehjoe
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 27 avril 2012 à 00:54
0
Utile
Bonjour Sephir0th n°77,

Dans ton code d'exe :


My.Application.Info.DirectoryPath 



Devrait te dire où est ton programme.

Cordialement, Joe.
Commenter la réponse de ehjoe
Sephir0th77 5 Messages postés mardi 24 avril 2012Date d'inscription 27 avril 2012 Dernière intervention - 27 avril 2012 à 09:04
0
Utile
Bonjour,

merci de ta réponse, mais j'ai déjà utilisé tout sa ^^ j'ai déjà testé bon nombre de commande qui son sensé me dire ou se trouve mon exécutable, seulement comme expliqué dans mon premier poste, toutes me sorte un chemin dans "AppData" alors que quand je lance mon .exe je ne suis pas du tout dans ce dossier.

C'est comme si il avait crée une copie de mon .exe en local, mais je ne sais pas pourquoi....
Commenter la réponse de Sephir0th77
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 27 avril 2012 à 09:12
0
Utile
Hum...

Veux-tu faire un exe avec le code qui suit :

Public Class Form1
 Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  MsgBox(My.Application.Info.DirectoryPath)
  End
 End Sub
End Class


Je viens de le faire, je l'ai manuellement promené sur mon disque, et il change bien d'adresse, donc en faisant ceci, et uniquement ceci dans un programme neuf, ça donne quoi pour toi ?

Cordialement, Joe.
Commenter la réponse de ehjoe
Sephir0th77 5 Messages postés mardi 24 avril 2012Date d'inscription 27 avril 2012 Dernière intervention - 27 avril 2012 à 09:41
0
Utile
Même chose...

Il m'a créé un nouveau répertoire dans "C:\Users\monnom\AppData\Local\Apps\2.0\....."

C'est incompréhensible...
Commenter la réponse de Sephir0th77
Sephir0th77 5 Messages postés mardi 24 avril 2012Date d'inscription 27 avril 2012 Dernière intervention - 27 avril 2012 à 10:36
0
Utile
Bon et bien je te remercie de ton aide ^^

je tiens a dire que pour les personnes ayant la même envie que moi (lancer un programme sur une clé USB) j'ai trouvé un subterfuge pour ne pas utiliser

My.Application.Info.DirectoryPath 


Voici ce que j'ai donc utiliser :

   
Imports Scripting

 Function findLettreCLe()
        Dim FSO As New FileSystemObject
        Dim lecteur As Drive

        Dim lettreCle As String = ""

        For Each lecteur In FSO.Drives
            If lecteur.DriveLetter <> "A" Then
                'le lecteur est-it amovible ?   
                If lecteur.DriveType = DriveTypeConst.Removable Then
                    'le lecteur est-it prêt ? 
                    If lecteur.IsReady And lecteur.VolumeName = "nomclé" Then
                        lettreCle = lecteur.DriveLetter
                        Return lettreCle
                    End If
                End If
            End If
        Next
    End Function


Il faut également ajouter la référence Microsoft Scripting Runtime à votre projet.

Cette fonction permet de trouver la lettre lecteur sur laquelle se trouve votre clé.

L’inconvénient est que si vous changé le nom de votre clé cela ne marchera plus, mais bon c'est déjà mieux que rien, on change pas le nom de sa clé tout les jours.
Commenter la réponse de Sephir0th77
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 27 avril 2012 à 11:02
0
Utile
Ça pourra être une clef USB à partir de F
if <> A and <> B and <> C and <> D and <> E...
> ascii 69, au pire la primo-clef USB sera G

Ah, c'est bien beau de tester si c'est une clef USB, faudrait quand même préalablement réussir à l'installer sur la clef, hein

Bien que je n'ai pas compris pourquoi tu voulais le mettre sur une clef USB, cependant il existe des clefs avec mini OS, bureau, etc, celle-ci peuvent faire l'affaire (à voir), je ne me souviens plus de leur nom...
Copier l'exe ça devrait pouvoir se faire, ne pas laisser de trace du tout, avec Windows je ne suis pas convaincu...

Cordialement, Joe.
Commenter la réponse de ehjoe
Sephir0th77 5 Messages postés mardi 24 avril 2012Date d'inscription 27 avril 2012 Dernière intervention - 27 avril 2012 à 12:24
0
Utile
La boucle s’effectue sur tous les lecteurs, je test le "A" au cas ou un lecteur disquette se trouve sur la machine (ce qui générai une erreur), ensuite je test si le lecteur est amovible.

Et en fait ici mon programme n'est pas "installé" sur la clé, il se comporte comme une application portable, sans installation sur les postes.

Et pourquoi faire cela, mon application est un utilitaire d'installation de programme dynamique, on clique sur un bouton et sa lance le setup de l'application voulu.

Quand on dois faire cela sur beaucoup de poste, c'est pratique d'avoir les softs sur une clé ainsi que l'utilitaire sans avoir besoin de l'installer. (et puis des contraintes dans mon entreprises m'oblige à faire ce procédé....)
Commenter la réponse de Sephir0th77
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 27 avril 2012 à 12:58
0
Utile
Bonjour,
et puis des contraintes dans mon entreprises m'oblige à faire ce procédé....

Je ne connais pas la compétence du responsable informatique dans ta société, mais peux te dire que je ne laisserais alors pas "passer" non plus ce que tu cherches à faire ! C'est évident

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 27 avril 2012 à 15:08
0
Utile
Ah ben on peut faire le contraire, mettre le programmes sur le serveur...
Mais de toute façon, pour que l'utilisateur sache qu'il y a une clef USB pour installer des applications latentes sur le poste ou le serveur, faut bien le dire à l'utilisateur du poste, alors lui dire qu'il a un clef ou lui dire par affichage au lancement par exemple, qu'en tapant la touche Fx il peut installer quelque chose, revient au même.
Ensuite le serveur répond au poste puis installe le choix, soit directement, soit via le poste appelant...

Sauf si on t'y oblige, se balader avec des clefs... l'avantage du système client-serveur, c'est justement de tout faire par télé-transmission, et donc de supprimer les support physique et les intervention manuelles externes... Mais bon, chaquin voit midi à sa porte...

Cordialement.
Commenter la réponse de ehjoe

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.