J'ai écrit mon propre système d'activation (complète + options supplémentaires ou en mode démo) pour mon logiciel écrit VB.NET sous VS 2008. LE problème, c'est que je ne sais pas ou mettre cette clé d'activation. Plusieurs possibilités me sont passé par la tête:
- Base de registre : C'est ce que je faisait avant et je dois dire que j'ai rencontré de GROS problèmes avec des clients utilisant des RegCleaner et autres (clé supprimée)
- Fichier : Oui, mais ou ? Pas dans le program files ni dans le user/appdata...
Découlant de cela, il me semble que la solution serait de trouvé la propriété ( surement dans l'espace de nom My ) qui me permettrait d'avoir un chemin dans la base de registre qui serait allouée à l'application une fois installée, afin que les keys ne soit pas effacée par les nettoyeurs.
Ceci dit, l'installeur msi crée bien un espace dans la registry
on saisie un serial dans une appli qui va vérifier (algo) s'il autorise ou non son utilisation
si tu veux tout de même conserver le serial (et donc recalculer à chaque relance) pour diverses raisons (ex : serial modifiable pour d'autres droits : démo, utilisateur, administrateur), tu peux très bien sauver dans les settings de l'appli, qui sont modifiables aussi après compilation
PS : ok que regcleaner et autres applis deviennent de plus en plus utilisées par le tout venant, mais çà reste de leur responsabilité. si l'utilisateur supprime ses clés, ton code ne doit qu'empêcher l'execution. en poussant le vice : un futur "progcleaner" qui désinstallerait les programmes non-utilisés depuis un mois, ce n'est pas à toi de créer une autre appli résidente pour empêcher la désinstallation de ton appli
Je suis d'accord avec toi concernant les regcleaner et autres interférences, mais les clients restent rois et si ils doivent faire ch*er quelqu'un, ca sera moi et pas la société du cleaner. Surtout qu'ils ont un contrat de maintenance .
Ceci dit, j'ai trouvé mon bonheur concernant la propriété :
Dim regkey As Microsoft.Win32.RegistryKey = Application.CommonAppDataRegistry
'HKEY_LOCAL_MACHINE\Software\Société\NomDeMonApplication\1.0.0.0
Maintenant, reste a tester, pour voir si le cleaner ne vas pas m'effacer ca, surtout si je ne mets pas les infos dans le dossier de version...