Создайте приложение, срок действия которого истекает через пробный период.
C# 2008 SP1
Я пишу заявку, которую хочу подать выбранному количеству клиентов.
Какое лучшее решение использовать, чтобы после периода отслеживания (1 месяц) приложение больше не работало.
Я думал, что если они будут заинтересованы в покупке программного обеспечения, я дам им лицензионный ключ или что-то еще, чтобы разблокировать приложение.
У меня очень ограниченный бюджет, так как я работаю самостоятельно. Так есть ли бесплатные продукты третьих сторон, которые делают это?
5 ответов
Если вы используете подход, основанный на дате, его можно обойти, установив дату обратно пользователем (хотя я сомневаюсь, что люди делают это очень часто). Альтернатива - разрешить запуск приложения определенное количество раз до истечения срока его действия; этот подход, очевидно, игнорирует любые изменения даты.
Мой предпочтительный метод - отключить части приложения, которые важны для нормального использования программы, но не критичны для ее оценки (например, возможность сохранить вашу работу, например). Я делаю это с моим собственным программным обеспечением, а затем отправляю им код разблокировки, уникальный для их компьютера, когда они покупают полную программу. Одним из главных преимуществ этого подхода является то, что установленная демоверсия функционирует как потенциальный инструмент продаж навсегда. Я бы предпочел, чтобы моя программа всегда работала до некоторой степени; Я не думаю, что сообщение "Извините, срок действия этой программы истек" вызывает много продаж.
Ваши варианты:
При установке напишите что-нибудь в реестр, чтобы потом было сложно найти и удалить. Таким образом, ваше приложение будет знать, когда оно было первоначально установлено и должно ли оно работать или прекратиться. Этот метод потерпит неудачу, если реестр будет очищен должным образом или если ОС будет переустановлена.
Воспользуйтесь каким-нибудь сервисом онлайн-валидации. Будут свободны от недостатков [1]. Также позволит вам отслеживать активность приложений, выходящую за рамки установки ОС. Для этого вам нужно как-то однозначно идентифицировать пользовательский ПК и передать его подпись на ваш сервер.
Вот трюк, который я сделал, чтобы не дать пользователям поиграть с настройками даты / времени и датировать время.
Когда приложение запускается в первый раз, зашифруйте в реестре дату первого запуска, дату окончания пробного использования и дату последнего запуска. При каждом запуске приложения расшифровывайте и проверяйте дату окончания пробного периода, а не системную дату. Это решение работает для пользователей без подключения к Интернету.
Напишите ключ реестра во время вашей установки. Ключ будет содержать дату установки. Дата в разделе реестра должна быть зашифрована.
Когда ваше приложение запускается, проверьте наличие этого раздела реестра. Если оно не существует, закройте приложение, иначе расшифруйте дату, проверьте пробный период и закройте приложение, если испытание закончено.
Самое простое решение (и, как следствие, самое простое для обхода) - сохранить дату, когда программа впервые установлена (или запущена), в файле, а затем проверять ее по текущей дате при каждом запуске программы. Если разница составляет> 30 дней, выйдите из программы.
Храня дату в более непонятных местах или местах, которые пользователю труднее подделать (например, в реестре), им становится все труднее обходить систему и получать больше времени для ее использования, но не останавливает их перематывать часы на своем ПК.
Если вы храните дату на своем сервере, а также получаете дату от своего сервера, то это более безопасно, но это означает, что для использования вашего программного обеспечения у пользователя должно быть открытое подключение к Интернету.