где хранить регистрационную информацию программы - PullRequest
5 голосов
/ 06 июля 2011

Я создал программу с 30-дневным пробным периодом в VB.Net.Программа экономит время в реестре, когда программа была впервые запущена, а также время, использованное в последний раз.Исходя из этого, я рассчитываю, будет ли суд еще в силе.

Проблема в том, что единственное место в реестре, к которому пользователь, не являющийся администратором, может получить доступ, - это ключ HKEY_LOCAL_USER.Мне нужно внедрить пробную версию для всех пользователей, в противном случае пользователь может просто использовать новую учетную запись, и это сбросит пробную версию.

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

Спасибо

Ответы [ 3 ]

1 голос
/ 06 июля 2011

Сохраните необходимые данные в двоичном виде (DateTime.Now.Ticks равно System.Int64;)), заполните их избыточными данными и заполните поле контрольной суммы. При загрузке проверьте поле контрольной суммы и, если оно неверно - данные были подделаны, поэтому прекратите пробный период. Вы также можете сохранить данные в файле рядом с вашим приложением, чтобы избежать использования реестра (как для межплатформенной совместимости, так и для отказа от необходимых прав администратора)

HKEY_LOCAL_MACHINE - для всех пользователей, но пользователь, устанавливающий ваше приложение, должен иметь права администратора.

1 голос
/ 06 июля 2011

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

Что, если у вас нет особо серьезных проблем, очень отрицательно.

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

Но все зависит от того, насколько важен пробный период.

0 голосов
/ 20 июля 2011

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

В Win 7 это может быть сложно. Я нашел эту статью о проекте кода, которая объясняет, как этого можно добиться для папок.

Затем я читаю файл и сохраняю значения в реестре, как предложено Кенни выше.

Если у кого-то есть метод получше, поделитесь им.

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