.net - lagring af licensoplysninger i HKEY\_CURRENT\_USER filial i registreringsdatabasen i c #

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at gemme brugerregistreringsdata til registret i c #. Men uden administrative rettigheder kan jeg ikke få adgang til HKEY\_LOCAL\_MACHINE. Jeg har ikke administratorrettigheder, så jeg beslutter at gemme den i HKEY\_CURRENT\_USER filial.


Er denne tilgang god, dvs. hvis en bruger registrerer produktet og han skifter kontoen i windows, bliver applikationen uregistreret. Bruger kommercielle software HKEY\_CURRENT\_USER filial til at gemme licensnøglen til brugeren. Da licensen er til en enkelt bruger, er der et problem, hvis jeg kun tillader en enkelt bruger (en Windows-bruger) at bruge nøglen, der forhindrer andre brugere i at bruge den.

Bedste reference


Hvorfor gem ikke nogen key fil med brugerspecifik licensaftale i


Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)?


Den bruger, der kører dit program, har adgang til den placering, der ydes af systemet selv.

Andre referencer 1


Du kan hæve processen, når brugeren aktiverer produktet, så skriveadgangen til HKLM er tilladt.


Afhængigt af din licensmodel vil jeg anbefale at registrere produktet pr. Maskine, da forskellige brugere alle kan bruge licensen.


Men hvis du kun vil tillade den oprindelige bruger at bruge licensen, så er HKCU i orden.

Andre referencer 2


Jeg har tendens til at holde sig væk fra registret, medmindre jeg kan hjælpe det. Denne måde ville være meget let at piratere, hvis du sælger dit produkt, selv om der ikke er nogen mulige piratbestemte måder, jeg ikke vil anbefale at bruge registreringsdatabasen.


En tilgang, jeg tidligere har brugt, er at gemme licensnøglen i appens app.config til din app. Så er den samlet sammen med appen, så du ikke har noget computerspecifikke at afhænge af. Når din app er aktiveret, gemmes nøglen i config-filen, og på hver åbning af appen er det bare en bool-check for at se, om den er gyldig.


På denne måde gør det også sværere for computervidenlige brugere at piratere din software.


Håber dette hjælper.