Question

J'ai un doute sur les licences. J'utilise l'application C #. Scénario: L'utilisateur obtient la licence de l'application par courrier électronique sous forme de fichier. Il / Elle stocke le fichier de licence sur le bureau. Plus tard, il choisit la licence et clique sur enregistrer. Maintenant, l'application est enregistrée (sous licence). Après quelques jours, si l'utilisateur supprime le fichier de licence de Desktop. L'application cessera de fonctionner car il n'y a pas de fichier. Je veux stocker les détails de la licence quelque part dans le registre ou le fichier (chemin secret). Mais Que se passe-t-il si ce compte d'utilisateur ne dispose pas des droits suffisants pour lire / écrire le registre ou le fichier? Quel est le bon chemin? Est-ce que vous connaissez une autre méthode? Je suis novice dans ce domaine. Alors aidez-moi s'il vous plaît.

Merci d'avance.

Était-ce utile?

La solution

Toutes les données de l'application doivent être stockées dans le répertoire% appdata%.

Puisque vous avez spécifié C #, voici le code pour obtenir le dossier:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Ceci sera affiché à l'emplacement suivant: Sous XP: C: / Documents and Settings / nom d'utilisateur / Application Data / Sous Vista: C: / Utilisateurs / nom d'utilisateur / AppData / Itinérance

Je vous conseillerais de créer un dossier dans ce répertoire pour votre application et de le copier.

Autres conseils

Microsoft a proposé des emplacements de stockage dans Windows Vista: document relatif à la certification et à la compatibilité des applications .

  

Donc, si [votre programme] change constamment de DONNÉES partagées (pas de CODE), il [les données] doivent logiquement aller dans le dossier ProgramData. Si c'est une donnée individuelle, alors elle peut aller au profil utilisateur.

Nous utilisons un fichier de licence et le stockons dans le dossier ProgramData \ CompanyName. Mais nos licences s’appliquent machine par ordinateur, et non par utilisateur. Par défaut, ce dossier est masqué dans Windows mais n'est pas protégé par le contrôle de compte d'utilisateur.

Comme quelqu'un me l'avait dit il y a quelque temps: "Le registre sert à l'interaction de l'application avec le système, pas à l'interaction de l'application avec l'utilisateur." Je ne sais pas si c'est la bonne façon de voir les choses. J'avais l'habitude de stocker des informations d'utilisateur dans le registre aussi mais plus maintenant. Mettre les paramètres dans un fichier est le meilleur moyen. Si vous souhaitez stocker des éléments tels que les numéros de série, n'oubliez pas de les chiffrer.

Absolument. Dans ce cas, l’écriture dans le registre devrait probablement être évitée, en particulier si la licence peut être supprimée, ajoutée ou modifiée de la manière que vous semblez décrire. Si les licences sont destinées à être échangées ou modifiées d’une manière ou d’une autre après l’installation, il peut être préférable de les écrire dans un fichier. Cependant, je ne recommande généralement pas d'écrire un fichier ou des données critiques de ce type sur le bureau. Je l'écrirais probablement dans un dossier contenu dans un répertoire de l'application elle-même. Incluez-le dans l'installation de votre application si c'est nécessaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top