Вопрос

У меня есть сомнения в лицензировании. Я использую приложение C #. Сценарий: Пользователь получает лицензию на приложение по почте в виде файла. Он / она хранит файл лицензии на рабочем столе. Позже он / она выбирает лицензию и нажимает зарегистрироваться. Теперь приложение зарегистрировано (лицензировано). Через несколько дней, если пользователь удалит файл лицензии с рабочего стола. Приложение перестанет работать, так как нет файла. Я хочу хранить детали лицензии где-нибудь в реестре или файле (секретный путь). Но Что делать, если эта учетная запись пользователя не имеет достаточных прав для чтения / записи реестра или файла. Какой хороший способ? Ребята, вы знаете какой-нибудь другой метод? Я новичок в этой области. Поэтому, пожалуйста, помогите мне.

Заранее спасибо.

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

Решение

Все данные приложения должны храниться в каталоге% appdata%.

Поскольку вы указали C #, вот код для получения папки:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Это выведет в следующее место: В XP: C: / Documents and Settings / имя пользователя / Данные приложения / В Vista: C: / Users / имя пользователя / AppData / Roaming

Я бы порекомендовал вам создать папку в этом каталоге для вашего приложения и скопировать туда.

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

Microsoft предлагает несколько вариантов расположения хранилищ в Windows Vista: документ о сертификации и совместимости приложений .

  

Итак, если она [ваша программа] постоянно меняет общие данные (не CODE), тогда они [данные] должны логически перейти в папку ProgramData. Если это отдельные данные, они могут перейти в профиль пользователя.

Мы используем файл лицензии и храним его в папке ProgramData \ CompanyName. Но наши лицензии для каждого компьютера, а не для пользователя. По умолчанию эта папка скрыта в Windows, но не защищена UAC.

Как кто-то сказал мне некоторое время назад: «Реестр предназначен для взаимодействия приложения с системой, а не для взаимодействия приложения с пользователем». Я не знаю, правильно ли это смотреть на вещи. Я использовал для хранения пользовательской информации в реестре тоже, но не больше. Положить настройки в файл лучше. Если вы хотите хранить такие вещи, как серийные номера, не забудьте их зашифровать.

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

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