Где я должен хранить ключ активации моего приложения? - PullRequest
10 голосов
/ 12 июля 2009

Я написал заявление и хотел бы добавить к нему регистрационный ключ / серийный номер (у меня минимальные неудобства - аля № 4 на в этой статье Эрика Синка ). Мой вопрос о том, где хранить «активацию» после регистрации приложения. Насколько я понимаю, у меня есть компромисс между хранением ключа в общедоступном месте, где его могут прочитать все пользователи (но для которого там требуются права администратора), и хранением активации для каждого пользователя (но затем каждый пользователь в компьютер должен будет активироваться независимо). Это дает мне два варианта:

  1. Некоторые пользователи с правами локального администратора активируют продукт. Активация хранится в HKLM, в папке с программными файлами или в другом месте, где ее могут прочитать все пользователи, и продукт активирован для всех пользователей.
  2. Пользователь (с правами администратора или без) активирует продукт. Активация хранится где-то ориентированным на пользователя (app.config для каждого пользователя, HKCU и т. Д.). Плюсом является то, что пользователь не должен быть администратором. Недостатком является то, что, если есть 6 пользователей, которые используют компьютер, каждый должен активировать продукт. Каждый из них может повторно использовать один и тот же серийный номер, но им все равно необходимо ввести его.

Это действительно компромисс? Если это так, что сделали другие? Как разработчик, я привык к тому, что люди являются локальными администраторами, но в реальности я не ожидаю, что многие из моих корпоративных пользователей будут локальными администраторами, что заставляет меня склоняться к варианту 2. Часто ли компьютеры не используются совместно? Достаточно того, что я не должен быть обеспокоен?

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

Ответы [ 6 ]

7 голосов
/ 12 июля 2009

Я бы порекомендовал решение, которое не требует прав администратора. Многие пользователи, особенно в общих средах, не будут иметь этих прав и не смогут найти кого-либо с ними удобно.

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

1 голос
/ 21 сентября 2009

Как насчет использования изолированного хранилища для вашего приложения?

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

1 голос
/ 12 июля 2009

Реестр кажется хорошим решением для бизнес-программ. По крайней мере там, где я работал, обычный пользователь не будет администратором локального компьютера, поэтому для каждой установки потребуется учетная запись локального администратора. Это хорошо, так как это уменьшит головную боль вашего персонала поддержки от людей, устанавливающих практически все в вашей бизнес-среде. Компромисс, конечно, заключается в том, что пользователи будут недовольны тем, что они не могут установить что-либо или им нужно связаться со службой поддержки, но эй ... :)

Другие вещи:

  • USB / другой тип ключа (аля старый 3DMax)
  • простой старый текстовый файл (аля Программное обеспечение Garmin GPS на мобильном устройстве)
  • Кодировать их / переписать ключ в ваш двоичный файл или часть вашего двоичного файла (сделал этот трюк в старом DOS дней)
  • Храните их в своей собственной БД через Интернет (аля EverQuest / другие игры MMORPG)
  • Локальный ключ db (аля MathLab я думаю)
0 голосов
/ 08 марта 2012

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

Если вы установите и зарегистрируетесь за один шаг, это не будет проблемой.

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

Как правило, большинство компьютеров используется одним пользователем (или несколькими людьми, которые по-прежнему используют одну и ту же учетную запись). Так что пользовательское хранилище будет работать большую часть времени в любом случае.

Однако это не так, или / или. Существуют местоположения папок, которые доступны для записи всем пользователям, например, папка ProgramData . Ключ заключается в том, чтобы сделать файл доступным для чтения / записи всем, чтобы вы могли проверять содержимое независимо от пользователя.

DeployLX Licensing делает это для незащищенных данных лицензии, чтобы их могли использовать несколько пользователей без явного разрешения администратора.

0 голосов
/ 12 июля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...