Хранение информации о лицензировании в HKEY_CURRENT_USER филиале реестра в c # - PullRequest
0 голосов
/ 14 марта 2012

Я пытаюсь сохранить регистрационные данные пользователя в реестре на C #. Но без административных прав я не могу получить доступ к HKEY_LOCAL_MACHINE. У меня нет прав администратора, поэтому я решил сохранить его в ветке HKEY_CURRENT_USER.

Хорошо ли подходит этот подход, т. Е. Если пользователь регистрирует продукт и переключает учетную запись в Windows, приложение будет незарегистрированным. Использует ли коммерческое программное обеспечение ветку HKEY_CURRENT_USER для хранения лицензионного ключа пользователя. Поскольку лицензия предназначена для одного пользователя, возникает проблема, если я разрешаю только одному пользователю (пользователю Windows) использовать ключ, не позволяя другим пользователям использовать его.

Ответы [ 3 ]

3 голосов
/ 14 марта 2012

Почему бы не сохранить файл key с пользовательским лицензионным соглашением в

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)?

Пользователь, который запускает вашу программу, имеет доступ к этому расположению, предоставленному самой системой.

0 голосов
/ 14 марта 2012

Я стараюсь держаться подальше от реестра, если не могу помочь.Этот способ будет очень легко пиратским, если вы продаете свой продукт, хотя не может быть никаких возможных пиратских способов защиты, которые я бы не рекомендовал использовать в реестре.

Подход, который я использовал ранее, - сохранитьлицензионный ключ в app.config вашего приложения.Затем он компилируется с приложением, поэтому у вас нет компьютера, на который можно положиться.Когда ваше приложение активировано, ключ сохраняется в файле конфигурации, и при каждом открытии приложения оно просто проверяет bool, чтобы убедиться, что оно действительно.

Этот способ также усложняет для опытных пользователей компьютерапиратское программное обеспечение.

Надеюсь, это поможет.

0 голосов
/ 14 марта 2012

Вы можете повысить уровень процесса, когда пользователь активирует продукт, чтобы разрешить доступ на запись в HKLM.

В зависимости от вашей модели лицензии, я бы порекомендовал зарегистрировать продукт для каждой машины, так как в этом случае разные пользователивсе могут использовать лицензию.

Но если вы хотите разрешить использование лицензии только первоначальному пользователю, тогда HKCU подойдет.

...