quasar06
Messages postés9Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention 2 février 2013
-
2 févr. 2013 à 17:14
Utilisateur anonyme -
3 févr. 2013 à 01:45
Bonjour,
J'ai créé un programme VB.Net qui utilise un fichier mem.txt pour sauvegarder des données.
Dans le code j'ai utilisé le chemin relatif de ce fichier.
Ce prog développé avec Visual Studio 2010 et déployé avec Windows Installer s'exécute correctement et le fichier mem.txt est bien créé (et mis à jour) dans le répertoire d'installation comme souhaité.
Par contre, ce même prog réécrit dans Visual Studio 2012 et déployé avec InstallShield 2012 LE me pose problème.
Le fichier mem.txt est bien présent dans le dossier d'installation (comme paramétré dans le Setup) mais lorsque je lance le prog par un raccourci placé sur le bureau le fichier mem.txt est créé et mis à jour sur le bureau !!!
En résumé, le fichier est créé non pas dans le dossier d'installation mais dans le dossier à partir duquel je lance le prog !!!
Je pense à un pb de chemin relatif/absolu, mais je n'ai pas trouvé de solution malgré mes recherches sur le Net.
v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Attendre le devin de service qui va nous dire quel code tu utilises pour enregistrer ton fichier. Parce qu'il semblerait que ton programme se contente de reprendre un paramètre fixé par l'installateur et pas par ton programme. Re parce que pour VB 2010 update 1 et VB2012, c'est le même compilateur qui est supposé donner le même résultat avec la même source.
Et puis pourquoi cette manie presque généralisée de vouloir imposer automatiquement des dossiers de fichiers à l'utilisateur; d'autant plus que c'est très facile de les demander at l'utilisateur et de les enregistrer et récupérer en utilisant My.settings. C'est à l'utilisateur de décider comment il va utiliser sa machine, pas au développer. C'est comme tous les Norton et Avast de ce monde qui imposent des choses automatique à l'utilisateur sans possibilité de les changer comme si cela convenait à tout le monde de faire une mise à jour à 20 heures, ou au lancement de l'ordinateur; de vrais hackers.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Je souhaite simplement que le fichier mem.txt soit créé et mis à jour dans le dossier d'installation et non pas dans le dossier à partir duquel on lance le programme (comme c'est le cas avec VS 2010 et Windows Installer).
NHenry
Messages postés15048Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention19 mars 2023156 2 févr. 2013 à 20:52
Bonjour,
Pour concaténer des chemins, préférer plutôt Io.Path.Combine, cette fonction se débrouille automatiquement avec le séparateur de chemin.
v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Pour concaténer des chemins, préférer plutôt Io.Path.Combine, cette fonction se débrouille automatiquement avec le séparateur de chemin.
C'est bien vrai ça, mais je n'y pense jamais. C'est une "découverte récente" et j'ai eu le temps de trop m'habituer aux vieilles méthodes (&), un peu recyclées.