Где я должен хранить ключ “активации” моего приложения?

StackOverflow https://stackoverflow.com/questions/1115481

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Другие продукты питания:

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

Как насчет использования изолированного приложения storrage for you?

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top