Executer du code uniquement lors de la 1ere éxecution de l'application
cs_lilj
Messages postés203Date d'inscriptiondimanche 13 décembre 2009StatutMembreDernière intervention 1 avril 2012
-
7 févr. 2011 à 11:01
cs_lilj
Messages postés203Date d'inscriptiondimanche 13 décembre 2009StatutMembreDernière intervention 1 avril 2012
-
9 févr. 2011 à 06:30
Bonjour,
je cherche comment faire pour exécuter du code uniquement pour la 1ere fois que l'application démarre.
j'ai pensé utiliser un fichier *.ini mais cette solution n'est pas fiable.
Puis, je voulais utiliser le MY.settings de vb mais là encore, j'ai lu que cette solution s'avère complexe et engendrait beaucoup de problème.
Du coup, je pense utilisé le registre windows. mais cette solution est -elle fiable et sans soucis ? De plus, si quelqu'un pouvait me faire une démonstration de son utilisation se serait sympa.
en faite, je souhaite afficher une fenêtre "activation du logiciel" lors du 1er démarrage de l'application ou tant que l'application ne soit pas activé. c'est pour cela que le fichier ini n'est pas adapté car très facilement modifiable. Je reste réticent quant à l'utilisation du setting de vb10.
Je voudrais avoir vos avis merci.
A voir également:
Executer du code uniquement lors de la 1ere éxecution de l'application
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 7 févr. 2011 à 14:48
Salut
Mon point de vue :
Le fichier INI est une bonne solution et facile à manipuler.
Si tu ajoutes un item dans ce fichier INI une fois le logiciel enregistré, difficile à l'utilisateur d'imaginer quelle serait le nom de l'item et encore moins son contenu.
Donc, à part si quelqu'un a déjà installé le logiciel et ait fait cette recherche pour tricher, je trouve cette solution viable.
D'autant que tu peux, par exemple, stocker dans cet item un code bien maquillé que ton logiciel saurait reconnaître, basé par exemple sur le no de série d'un matériel : disque dur (mais pas partition), adresse MAC d'une carte réseau, nom de l'utilisateur (login), etc ...
Autre solution simpliste : Avec ton package d'application, tu ajoutes un fichier texte contenant n'importe quoi et dont le nom ressemblerait à un fichier "applicatif" (genre UnInstall.txt) : Une fois enregistré, tu supprimes le fichier :
Fichier présent : pas enregistré
Fichier absent : enregistré
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_lilj
Messages postés203Date d'inscriptiondimanche 13 décembre 2009StatutMembreDernière intervention 1 avril 20125 7 févr. 2011 à 17:03
Quand tu parles d'item dans les fichiers ini tu fais référence à une section ou à une clé ?
car actuellement dans mon fichier ini j'ai une clé "No_serie" qui contient la clé d'activation. Ainsi, une fenêtre "a propos de" indique à l'utilisateur le n° de série associé à son logiciel. Cependant, ce que je crains c'est que le fichier ini est totalement altérable.
Que penses-tu de l'utilisation du registre ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 7 févr. 2011 à 20:41
Oui Clé, les sections ne servent qu'à organiser les clés et d'étendue des fonctions de listage des clés ou autres commandes génériques liées aux sections.
Altérable, certes. C'est un fichier texte.
Mais si qqun touche au contenu, tant pis pour lui.
Base de registres : moi, j'aime pas. Y a déjà assez de bazar la dedans, mais pourquoi pas.
Il doit bien y avoir des exemples sur le site.
cs_lilj
Messages postés203Date d'inscriptiondimanche 13 décembre 2009StatutMembreDernière intervention 1 avril 20125 8 févr. 2011 à 05:53
Pour le fichier ini, il y a t-il un moyen de le mettre en lecture seule (interdire l'écriture dans le fichier) et de permettre l'écriture uniquement par le biais du programme ?
Merci pour ton intêret, je pense donc créer une clé pour savoir si le logiciel démarre pour la 1ere fois ou non.
Vous n’avez pas trouvé la réponse que vous recherchez ?
If File.Exists("\Backup.ini") Then
Try
File.SetAttributes("\Backup.ini", FileAttributes.Normal)
.....
File.SetAttributes("\Backup.ini", FileAttributes.ReadOnly)
Catch ex As Exception
End Try
End If
Voilà, mais attention je suis vraiment débutant dans la programmation.