Créer une clé dans le régiste a l'installation d'un programme vb [Résolu]

cs_nirega 58 Messages postés dimanche 17 février 2002Date d'inscription 14 janvier 2008 Dernière intervention - 16 nov. 2005 à 17:57 - Dernière réponse : cs_nirega 58 Messages postés dimanche 17 février 2002Date d'inscription 14 janvier 2008 Dernière intervention
- 17 nov. 2005 à 17:58
Bonjour,
J'aimerais savoir comment faire pour pouvoir créer une clé dans le régiste quand on installe un programme créer avec VB

nirega
Afficher la suite 

12 réponses

Meilleure réponse
cs_nirega 58 Messages postés dimanche 17 février 2002Date d'inscription 14 janvier 2008 Dernière intervention - 17 nov. 2005 à 17:58
3
Merci
merci DarkSidious
et rt15 pour vos bon conseil
nirega

Merci cs_nirega 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 16 nov. 2005 à 18:31
0
Merci
Mais pourquoi le registre ????

Mon registre est déjà pas beau à voire, il a pas du tout besoin de clés supplémentaires !

Microsoft prone à présent les INI, sauf erreur.

Tuto sur les inis:
http://www.vbfrance.com/tutorial.aspx?id=130

Les seuls clés qui à mes yeux ont vaguement une chance d'être utile sont celles mis en place par les installeurs.

Code sur l'écriture dans la base de registre (Mais je devrais pas!)

http://www.vbfrance.com/code.aspx?id=7885
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 16 nov. 2005 à 18:37
0
Merci
Microsoft pronne les ini ??? C'est nouveau cà ! Tu a vu cà où ???



Perso, je préfère largement utiliser la base de registre : plus
sécurisé, moins de problèmes de suppression de clé (par rapport à la
suppression très simple d'un fichier ini manuellement), recherche et
écriture plus rapide, etc.



utilise InnoSetup pour créer tes clés dès l'installation : va voir mon tutorial sur ISTools/InnoSetup sur www.ProgOtoP.Com

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 16 nov. 2005 à 19:23
0
Merci
nirega,

Ecoute le monsieur, il en sait plus que moi.

DARKSIDIOUS,

Sauf erreur (comme d'hab !), avant il y avait les INIs. Win.ini pour ne pas citer l'un des plus connu.

Mais il y a eu de plus en plus d'appli, alors Windwos a recommandé d'utiliser ses propres ini.

Puis la base de registre a été crée, dans le but de stocker les infos OS et des applications.

Et maintenent, elle devient assez énorme (Nottement registration des classes). De plus, elle s'accroit en permanence, de toutes les clés qui sont installée puis jamais supprimées. Certaines appli ne s'installent plus suite à des problèmes dans la base de registre. Windows peut ne plus fonctionner si on modifie le registre. Les virus s'ébattent amoureusement dans celle-ci.

Il me semble avoir peser une base de registre neuve (SP2, un utilisateur) à 67 Mo.

Sincérement, des accès rapide dans 67 Mo de données ????

Fait un "rechercher..." dans regedit: tu vas le sentir passser !

Et il manquerait plus que celle-ci soit chargée en RAM au démarrage. Dans ce cas, accès rapides, mais au prix ou est la RAM !

Pour la sécuritée de la base de registre... Boarf. Dans regedit, il est très facile de transfomer son beau PC XP en DOS simplement par une petite erreur de manip. Sinon, les config.ini sont assez utiles (et utilisés !) dans les jeux: l'utilisateur peut facilement modifier une option, spécifiée dans un ReadMe par exemple.

Il me semble avoir lut que Microsoft aurait constaté que la base de registre n'était peut être pas la bonne solution. Ce n'était pas un article de Microsoft.

Sinon, por le stockage des comptes d'utilisateurs, je critique pas.
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 16 nov. 2005 à 19:33
0
Merci
La base de registre n'est pas un fichier texte mais une base de
données, donc les recherches dans 64 Mo d'une base de données c'est
bien plus rapide qu'une recherche dans 1 Mo d'un fichier texte (et donc
d'un fichier ini).



Je suis d'accord que la base de registre enfle, mais c'est quand même
plus sécurisant de stocker tes clés dans ton propre dossier dans la bdr
plutôt que de créer un fichier ini, que n'importe qui peut modifier
sans aucune connaissance (dans la base de registre, il faut quand même
savoir où est situé le dossier du programme, ce qui est moins facile
que de trouver le dossier de l'application contenant le fichier ini, et
de plus, il faut connaitre le regedit, ce que l'utilisateur lambda ne
connait pas).



Crois moi, je développe des logiciels pour des utilisateurs ne
connaissant pas vraiment l'informatique, et je suis plus confiant à une
clé dans la bdr qu'un fichier : les fichiers peuvent très facilement
être supprimés par exemple...



Enfin, c'est un avis personnel, maintenant tout le monde est libre de faire ce qu'il veux.

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 17 nov. 2005 à 13:34
0
Merci
Enfin, c'est un avis personnel, maintenant tout le monde est libre de faire ce qu'il veux.

La base de registre paraît en effet nettement plus polyvalente et rapide que les ini. Ca te dérangerai pas que je me fasse une petite bdd dans ton registre ?

J'ai jeté un coup d'oeil dans la sdk (Win32 Developer's References) Doc fournie avec Delphi7, paraissant ancienne et pas trops remise à jour.

J'y est quand même trouvé: "An application should store configuration and initialization data in the registry, but other kind of data should be stored elsewhere"

Après, on pourait débattre sur ce que sont les données de config et d'ini.
Mais c'est vrai que si tu as des données critiques, elles sont probablement mieux dans la base de registre.

Sinon, j'ai surestimer ma base de registre, elle ne fait 46.5 Mo sur un PC vieux de deux mois, jamais connecté au net.

J'ai aussi regarder les préférence de M$ en matière d'installation de clés lors de l'installation d'une appli. J'ai traduit comme j'ai pu. Cela devrait permettre à n'importe qui d'installer selon les souhait de M$ une petite appli.
Et peut être de répondre à la question de nirega.

#### Pour le menu ajout/suppresion de prog du panneau de config:

Il faut faire une clé: HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\NomDeLAppli
Ont peut y mettre les valeurs:
DisplayName, avec le nom du proiut
UninstallString, avec le fichier à lancer pour désinstaller l'appli (Chemin complet + éventullement les arguments).

#### Infos sur la version de l'appli:

HKLM\Software\NomDeLaCompanie\NomDuProduit\Version

#### Stockage des préférence des utilisateurs:

HKCU\Software
je rappelle que HKCU dépend de l'utilisateur.

#### Commande executer et modification de path:

Path, globalement, c'est une var d'environement qui définie ou sont cherché les fichiers lorsque l'on ne spécifie pas le chemin d'accès.

HKLM\Software\Microsoft\Windows\CurrentVersion\AppPaths\NomDeLExe.exe

Avec, en valeur par défaut, le chemin complet du .exe. Et donc, éventuellement la clé path, contenant des chemins séparés par des ;

Le chemin complet de l'exe sert au moins à la commande executer.

Il y a par exemple une clé winword.exe qui contient le chemin d'accès de winword.exe. C'est pour ça que le PC trouve Word quand on tape Winword !

#### Les compteurs des dlls:

Il faut aussi incrémenter les compteur d'utilisation des dlls paratagées. Je sais pas si grand monde le fait... Le message d'avertissement: "Cette dll n'est plus utilisée par aucune application, voulez la supprimez ?" me parait quand même assez compliqué pour un utilisateur non expérimenté.

Toutes mes explications ne sont peut être pas très claire, mais vous trouverez dans le registre plein de bons élèves qui suivent précisément ces directives, qu'ils soient de M$ ou installés par des installeurs libres.

Mais les progs d'installes font sûrement tout ça très bien.
cs_nirega 58 Messages postés dimanche 17 février 2002Date d'inscription 14 janvier 2008 Dernière intervention - 17 nov. 2005 à 16:50
0
Merci
Merci pour les informations qui ont faillie tourné en guerre du savoir....héhéhéhé

mais en ce qui me concerne, je veux simplement trouvé un moyen de savoir si le client a déja installé un programme de la meme série de programme.

exemple:
le client installe le prog 1
et apres il installe le prog 2 et de lui je peux voir si le prog 1 est installé et comme ca, je peux faire en sorte que le prog 1 est accessible a partir du prog 2 et ansi de suite pour tout les programmes de la série (il va en avoir 5 ou 6).

c'est pour cette raison que j'avais pensé a la base de registe.
si vous avez une meilleure solution pour que les programmes ce voit entre eux,
vos informations ou conseils sont les bienvenue.

je ne suis pas un maître en programmation.....pas encore....héhéhéhé....mais sa va venir avec l'expérience et les années.

merci beaucoup de votre aide
nirega
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 17 nov. 2005 à 16:56
0
Merci
Meuh non, rt15 et moi c'est une vieille histoire (...de dll ActiveX ;)



Pour ton problème de numéro de prog installé, là en effet, l'usage de
la base de registre est plus que conseillé : avec des fichiers ini, il
te faudras connaître le dossier stockant le fichier ini, alors qu'avec
la bdr, tu peux très bien créer un répertoire spécifique répertoriant
toutes les versions de ton prog installé (ce qui est très facilement
gérable avec ISTools/InnoSetup donc).

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 17 nov. 2005 à 17:14
0
Merci
Bah pour ton cas, je te conseille effectivement la base de registre !

Si tu utilises un installeur, tu devrais pouvoir retrouver sans peine des traces d'une appli installée. Après, les traces dépendent de l'installeur que tu utilises. Je crois me souvenir que l'installeur de VB6 (Eh oui, c'est le seul que je connais, honte sur moi !) ne crée aucune clé facilement utilisable dans ton cas. Il me semble qu'il ne crée que:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\NomDeLAppli

Sauf qu'il remplace NomDeLAppli par un truc du style ST6_1, (puis ST6_2, lors d'une installation d'un quelconque programme) ! Par contre, on peut retrouver le nom de l'appli dans le DisplayName. Mais rechercher dans toutes les DisplayName, c'est pas pratique...

Je te conseille d'utiliser un autre installeur, puis d'installer, puis de faire une recherche du nom de ton appli avec regedit. Tu devrais trouver une clé sympa à tester.

Si tu n'utilises pas d'installer, il faut que tu t'en fasse un. Si tu crés tes clés dans:
HKLM\Software\NomDeLaCompanie\NomDuProduit\Version

M$ serat ravie.
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 17 nov. 2005 à 17:16
0
Merci
Pardon, messages dans le mauvais ordre.

Suite à celui de DARKSIDIOUS, le mien ne sert plus à rien.
cs_nirega 58 Messages postés dimanche 17 février 2002Date d'inscription 14 janvier 2008 Dernière intervention - 17 nov. 2005 à 17:33
0
Merci
DARKSIDIOUS, je le prend ou le ISTOOLS
je viens d'aller sur ton site et je le trouve pas ???

merci

nirega
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 17 nov. 2005 à 17:40
0
Merci
tu ne le trouvera pas sur mon site, tu n'y trouvera que des
tutoriaux te montrant comment créer un install InnoSetup à partir d'un
prog vb sans taper une seule ligne de code supplémentaire. Mais dans
mes tuto, je donne l'url pour télecharger innosetup et istools.



ma page de cours est : http://www.progotop.com/dks/cours/Cours.html

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.