Я написал приложение и хотел бы добавить к нему регистрационный ключ / серийный номер (я неравнодушен к минимуму неудобств - аля №4 по адресу эта статья Эрика Синка). У меня вопрос о том, где хранить «активацию» после регистрации приложения. Насколько я понимаю, у меня есть компромисс между хранением ключа в общедоступном месте, где все пользователи могут его читать (но для этого требуются права администратора для сохранения там), и сохранением активации для каждого пользователя (но затем каждый пользователь в компьютер придется активировать самостоятельно). Это дает мне два варианта:
- Какой-то пользователь с правами локального администратора активирует продукт. Активация сохраняется в HKLM, в папке программных файлов или где-то еще, где все пользователи могут ее прочитать, и продукт активируется для всех пользователей.
- Пользователь (с правами администратора или без) активирует продукт. Активация хранится где-то ориентированно на пользователя (для каждого пользователя app.config, HKCU и т. Д.). Плюс в том, что пользователю не обязательно быть администратором. Обратной стороной является то, что если есть 6 пользователей, которые используют компьютер, каждый должен активировать продукт. Каждый из них может повторно использовать один и тот же серийный номер, но им все равно придется вводить его.
Это действительно компромисс? Если да, то что сделали другие? Как разработчик я привык к тому, что люди являются локальными администраторами, но в реальном мире я не ожидаю, что многие из моих корпоративных пользователей будут локальными администраторами, что заставляет меня склоняться к варианту 2. Часто ли компьютеры используются совместно достаточно, чтобы я не беспокоился?
Опять же, я не спрашиваю, как физически зарегистрировать компьютер - меня это не волнует. Я собираюсь только проверить контрольную сумму предоставленного ключа и дать добро, так как я хочу быть как можно более неинвазивным.