cs_Dalton
Messages postés10Date d'inscriptionlundi 6 mai 2002StatutMembreDernière intervention13 novembre 2007
-
13 nov. 2007 à 09:04
cs_Dalton
Messages postés10Date d'inscriptionlundi 6 mai 2002StatutMembreDernière intervention13 novembre 2007
-
13 nov. 2007 à 11:39
Bonjour,
Je viens d'installer un programme développé en VB6 sur un portable OS Vista. Dans ce programme, j'ai un fichier Ini(me permet de paramètrer le programme en fonction du poste, il est créé par un programme d'install) et un log(qui récupère des infos de déroulement ou erreurs eventuels,). Ces 2 fichiers sont créé et appelé dans le répertoire dans le répertoirede mon programme (Program files\monprogram\).
Sur poste équipé de XP ou 98, tout ce passe correctement. Par contre sur Vista, les fichiers Ini et log sont installés dans un répertoire anexe au programme ( C:\Users\............\AppData\Local\VirtualStore\Program Files\monprogram\) bien que mon pour créer ces fichiers, j'utilise:
Open "C:\Program files\monprogram\Ini" For Output As #1
Close #1
. Comment faire en VB6 pour imposer au programme de sauvegarder le fichier ds le répertoire du programme et non ds ce VirtualStore?
. L'un de vous a t il déjà rencontré ce problème? (est ce dû à Vista ou au paramètrage du PC), pour info lors de l'instal d'un programme, j'ai systématiquement un message m'indiquant que je dois être administrateur du poste pour installer un programme.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 13 nov. 2007 à 09:18
Ceci est du à Vista et à sa sécurité renforcée. Mais comme le dit Renfield, ceci doit normalement etre totalement transparent pour l'utilisateur et les logiciels.
Tu ne devrait donc rien avoir à faire de particulier dans le code VB6.
Pour ce qui est de l'install, effectivement il faut avoir les droits administrateur (ou que le droit d'installation ait été accordé à l'utilisateur) mais cela ne change pas beaucoup de XP.
cs_Dalton
Messages postés10Date d'inscriptionlundi 6 mai 2002StatutMembreDernière intervention13 novembre 2007 13 nov. 2007 à 09:37
Rapide la réponse, merci Renfield.
Je peux comprendre la raison de ce répertoire VirtualStore, par contre comme tu le dis ainsi que Cyril, Windows devrait rendre la chose transparente!!!!!
Lorsque je cré mon fichier INI (Open "C:\Program files\monprogram\Ini" For Output As #1), il le place dans VirtualStore.
Par contre lorqu'il l'ouvre, dans mon programme principal (Open CurDir$ & "Ini" For Input As #), il le recherche dans le répertoire du programme (C:\Program Files\monprogram\).
Si je ne peux écrire dans 'C:\Program Files\monprogram\', Eventuellemnt par quoi puis je remplacé 'CurDir' dans mon programme, pour retrouver le chemin du Virtual Store?
cs_Dalton
Messages postés10Date d'inscriptionlundi 6 mai 2002StatutMembreDernière intervention13 novembre 2007 13 nov. 2007 à 10:42
Il est vrai que c'est un programme très ancien, qui je crois avait été développé en VB3 ou 4, et qui avec le temps et les modifs demandées par les clients, a évolué de version en version VB, par contre certains sous programmes n' ont effectivement pas évolué. nous regarderons à l'occasion l'API 'GetPrivateProfileString'.
Je vais vérifier si 'App.path. m'orientera dans les 2 cas vers le même repertoire.