OVH Cloud OVH Cloud

Program Files sous Vista

12 réponses
Avatar
Kiriasse
Bonjour,
J'ai un problème, comme disait la chanson...
J'ai développé en VB6 une application qui fonctionne bien sous XP et un
utilisateur me demande de l'adapter à Vista, ce que j'essaie de faire bien
que je n'aie pas encore eu le temps d'installer Vista sur mon ordinateur.

Après quelques échanges de courriels et quelques modifications, mon appli a
fini par fonctionner pour l'essentiel sous Vista mais il me reste une
difficulté à résoudre que ceux qui connaissent Vista pourront peut-être
m'aider à comprendre.

MonAppli crée à chaque fermeture un fichier texte que j'appelle Uninstal.log
et qui contient notamment la liste des entrées créées dans la base de
registres par MonAppli pendant son fonctionnement. La désinstallation
complète de MonAppli est assurée par un petit programme Uninstal.exe (que
j'ai développé avec PureBasic afin qu'il n'ait pas besoin de runtime). Cette
désinstallation se déroule en deux étapes. L'une fait appel à la procédure
classique de Windows (Ajout/suppression de programmes) et lit le fichier
ST6UNST.LOG. L'autre que j'ai écrite en PB lit le fichier Uninstal.log.

Quand on demande à MonAppli (sur l'ordinateur de l'utilisateur) d'afficher
dans un MsgBox le répertoire de l'application, il renvoie « E:\Program
Files\MonAppli\ » et un autre MsgBox montre que le fichier Uninstal.log est
bien créé dans ce répertoire « E:\Program Files\MonAppli\ ».

Cependant, au moment de la désinstallation, le programme de désinstallation
ne trouve pas Uninstal.log et la désinstallation ne se fait donc pas
correctement.

L'utilisateur m'apprend que, sous Vista, il n'y a plus 'Program Files' mais
'Programmes'.
Qu'en est-il ? Cela pourrait être une piste pour comprendre ce qui se
passe...
Je nage... Pouvez-vous m'aider ? Merci d'avance.

2 réponses

1 2
Avatar
aski
Bonsoir Jacques,

Si, dans la mesure où il a été installé avec des droits Administrateur. Un
compte limité n'est pas sensé faire d'installation. Kinase parle de deux
fichiers :



ST6UNST.LOG utilisé par Ajout/Suppression de programmes



et



Uninstal.log écrit à chaque fermeture de l'application



Il me semble avoir compris que c'est sur ce dernier qu'il y a problème



Tu as effectivement répondu à la lettre mais je pensais aux
applications que j'ai construites sous XP sans inscription au registre.
Pour le paramétrage, j'utilisais un Config.ini que je glissais dans PF.
Pour que ce soit compatible avec Vista, quel serait le meilleur
compromis à prendre pour le dossier de stockage, %AppData% ?

[HS] : As tu reçu mon mail du 29/11 ?



Non malheureusement, le dernier date du 21. :-(
Je ne pense pas avoir fait de fausse manoeuvre en changeant de
gestionnaires de courrier et news, mais on ne sait jamais (j'ai regardé
dans tous) et je classe tes messages systématiquement dans le dossier
Copains.

--
Cordialement
Aski

AntiSpamEdit (ASE) - XtractOE et XtractWM - K9 en français
http://dechily.org/downloads.htm
Avatar
Jacques93
aski a écrit :
Bonsoir Jacques,

Si, dans la mesure où il a été installé avec des droits
Administrateur. Un compte limité n'est pas sensé faire d'installation.
Kinase parle de deux fichiers :



ST6UNST.LOG utilisé par Ajout/Suppression de programmes



et



Uninstal.log écrit à chaque fermeture de l'application



Il me semble avoir compris que c'est sur ce dernier qu'il y a problème



Tu as effectivement répondu à la lettre mais je pensais aux applications
que j'ai construites sous XP sans inscription au registre.



En fait même sans toucher au registre, il peut y avoir des problèmes de
droits d'accès, qui sont éventuellement invisible sous Vista. Voir mon
message de 11:33 concernant :

%UserProfile%AppDataLocalVirtualStoreProgram FilesMonRep

quand on a pas les droits d'accès sur %ProgramFiles%

Pour le paramétrage, j'utilisais un Config.ini que je glissais dans PF.



PF ???

Pour que ce soit compatible avec Vista, quel serait le meilleur
compromis à prendre pour le dossier de stockage, %AppData% ?



Je dirai d'abord d'éviter les variables d'environnement, car pour
certains répertoires, elles n'indiquent que le début du chemin, et la
suite peut varier selon qu'on est sous XP ou Vista. Jette un oeil à mon
message de 15:56 en réponse à Kiriasse.

Il est a mon avis préférable d'utiliser la méthode indiqué par jean-marc

<Citation>
SHGetSpecialFolderLocation.

Un article de la FAQ est consacré à cette fonction :
http://faq.vb.free.fr/index.php?question`
</Citation>

et les dossier de stockage pourrait être

CSIDL_LOCAL_APPDATA pour les données d'un compte

et

CSIDL_COMMON_APPDATA pour les données communes à tous les comptes

[HS] : As tu reçu mon mail du 29/11 ?



Non malheureusement, le dernier date du 21. :-(
Je ne pense pas avoir fait de fausse manoeuvre en changeant de
gestionnaires de courrier et news, mais on ne sait jamais (j'ai regardé
dans tous) et je classe tes messages systématiquement dans le dossier
Copains.



Je l'ai reposté.

--
Cordialement,

Jacques.
1 2