Executable sur clé USB

Résolu
Sephir0th77 Messages postés 5 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 27 avril 2012 - 26 avril 2012 à 12:32
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 - 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

10 réponses

ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
27 avril 2012 à 10:20
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.
3
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
27 avril 2012 à 00:54
Bonjour Sephir0th n°77,

Dans ton code d'exe :


My.Application.Info.DirectoryPath 



Devrait te dire où est ton programme.

Cordialement, Joe.
0
Sephir0th77 Messages postés 5 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 27 avril 2012
27 avril 2012 à 09:04
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....
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
27 avril 2012 à 09:12
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sephir0th77 Messages postés 5 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 27 avril 2012
27 avril 2012 à 09:41
Même chose...

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

C'est incompréhensible...
0
Sephir0th77 Messages postés 5 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 27 avril 2012
27 avril 2012 à 10:36
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.
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
27 avril 2012 à 11:02
Ç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.
0
Sephir0th77 Messages postés 5 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 27 avril 2012
27 avril 2012 à 12:24
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é....)
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 avril 2012 à 12:58
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
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
27 avril 2012 à 15:08
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.
0
Rejoignez-nous