VB6 Vista

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

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
deja, curdir est plutot aléatoire...

tu semble le confondre avec App.path
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
en passant...

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

des APIs existent, pour manipuler facilement les INI (GetPrivateProfileString, par exemple)
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
on n'enregistre RIEN a cet emplacement...
faut des droits admins pour y ecrire...

normallement, Windows rend la chose transparente...
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
Messages postés
10
Date d'inscription
lundi 6 mai 2002
Statut
Membre
Dernière intervention
13 novembre 2007

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

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

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