VB6 Vista

Résolu
cs_Dalton Messages postés 10 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 novembre 2007 - 13 nov. 2007 à 09:04
cs_Dalton Messages postés 10 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 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.

Merci par avance pour votre aide.

dalton

8 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 nov. 2007 à 09:52
deja, curdir est plutot aléatoire...

tu semble le confondre avec App.path
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 nov. 2007 à 10:00
en passant...

tu manipule ton fichier INI avec un Open ... ???

des APIs existent, pour manipuler facilement les INI (GetPrivateProfileString, par exemple)
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 nov. 2007 à 09:06
on n'enregistre RIEN a cet emplacement...
faut des droits admins pour y ecrire...

normallement, Windows rend la chose transparente...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 nov. 2007 à 09:06
0

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

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_Dalton Messages postés 10 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 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?

dalton
0
cs_Dalton Messages postés 10 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 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.

dalton
0
cs_Dalton Messages postés 10 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 novembre 2007
13 nov. 2007 à 11:39
Problème résolu,
 App.path => Chemin de VirtualStore.

L'écriture et lecture de mes fichiers Ini et Log se font tous sur VirtualStore\Program Files\

Merci Renfield de ton aide
dalton
0
Rejoignez-nous