Я хочу добавить 14-дневный пробный лимит для моего программного обеспечения. Программа была написана в Delphi 7.
Любая помощь будет высоко оценена.
Я хочу добавить 14-дневный пробный лимит для моего программного обеспечения. Программа была написана в Delphi 7.
Любая помощь будет высоко оценена.
Вы можете попробовать Turbopower OnGuard. Это теперь открывается.
Есть несколько трюков, которые вы можете использовать, но ни один из них не может сэкономить 100%.
Но я считаю, что лучший способ - предоставить пробные версии с ограниченной функциональностью. Например: печать без сохранения проекта или сохранение небольших проектов.
Таким образом, вы избегаете хлопот, и возможные клиенты могут потратить время на оценку вашего проекта.
РЕДАКТИРОВАТЬ:. Если вы создадите механизм для проверки против возврата часов. Обязательно создайте запас, иначе программа будет заблокирована, если вы вернетесь в другой часовой пояс. Или верните часы в зимнее время. Я думаю, что разница в 25 часов будет охватывать все. (И чтобы быть на стороне сохранения, вы можете построить еще один предел, пользователь может откатить время каждый день.).
Но лучший способ продолжать платить клиентам - это хорошая поддержка. Я прекращаю продукты, если услуга плохая.
Возможно, вы захотите прочитать эту страницу. Это немного устаревшая, но умная информация о защите вашей программы от того, как и почему.
Одной из вещей, которые необходимо защищать с помощью приложения с ограничением по времени, является то, что пользователи катят свой календарь обратно, поэтому приложение все еще работает. Один из способов - хранить в скрытом месте реестра (или везде) временную метку всякий раз, когда приложение запускается. Если текущая дата/время раньше, чем последняя временная метка, записанная вашим приложением, это означает, что пользователь перевернул календарь назад, и вы должны отключить приложение.
Ограничение времени - настоящая боль, хотя и для программиста, и для пользователя. Это также не отличная маркетинговая идея: зачем идти на поводу распространение рекламных материалов (что и есть у вашей пробной версии), срок действия которых истекает? Это будет похоже на то, как компания рассылает рекламные объявления на бумаге, предназначенные для дезинтеграции через две недели.
Если ваша пробная версия функционально искалечена, вы все равно можете получить ее продажи даже через несколько месяцев или лет.
Вы можете найти аналогичный вопрос здесь.
В общем случае я считаю, что ограничение по времени гораздо более полезно, чем ограничение функциональности. Как я объяснил в комментарии к сообщению Gamecat
то, что нужно знать при выполнении любой из этих проверок. То, что дата никогда не БОЛЕЕ 14 дней с даты, когда вы ввели в любом направлении. Общим методом для большинства этих типов ограничений является установка даты на несколько лет вперед, установка и запуск вашего программного обеспечения, а затем установка даты в текущее время. Если вы сильно закодированы, чтобы умереть 14 дней с начальной даты начала, у пользователя есть несколько лет, чтобы попробовать ваше программное обеспечение. Проверка другого направления также дает пользователю не более 28 дней.
Я использовал Armadillo, Asprotect и Winlicense. У Armadillo и Asprotect были серьезные проблемы, такие как вирусы/трояны некоторыми AV, проблемы несовместимости и т.д.
Я не использовал Winlicense достаточно, чтобы иметь много мнений, но поддержка довольно велика.
Очевидно, что оба являются более полными решениями, чем то, о чем вы просите - они включают защиту, лицензирование, ключи и т.д.
Как упоминалось другими, иногда ограничение возможности или добавление водяного знака - лучший вариант. Я добавил водяной знак к одной из моих программ (STGThumb), а продажи выросли примерно на 400%...
Я бы рекомендовал сделать серийный серийный номер с отметкой времени и заставить пользователя вводить его в программное обеспечение при его установке. Вы можете даже автоматизировать его, позвонив на серверную страницу после завершения настройки.
Временная метка в пробном серийном ключе позволяет при необходимости продлить пробную версию.
Кроме того, вы можете рассчитывать назад, чтобы пользователь не менял год при установке:
например. если у вас есть 14-дневный пробный период, сгенерированный в 15.11.2008 (время сервера), вы можете проверить, что дата локации должна быть больше 1.11.2008 или меньше 24.11.2008 всегда, когда используется или вводится серийный номер.
Вы можете использовать профессиональный инструмент как SoftwareShield. Я использую его в наших приложениях, и он предоставляет несколько моделей лицензий, включая демонстрацию timelimited.
Я создал свой собственный генератор ключей (отдельная программа для создания ключей). Значения ключей хранятся в двоичном файле с тем же именем, что и моя программа, только с другим ext. Пример: myprogram.key
Я храню:
Название
Email
RegType (REG, TRIAL)
RegDate
FirstRun (0 OR 1)
Программа ищет файл. Если его нет, он выдает сообщение пользователю и закрывается. Генератор файла ключей записывает значения в зашифрованные строки, которые затем записываются с использованием встроенных потоковых процедур.
Я создаю ТРИАЛ-ключ, который я распространяю вместе с программой. Если кто-то регистрируется, я затем создаю им официальный ключ REG.
В любом случае, если они запускают мою программу, он сначала ищет файл ключа. если он найден, он проверяет тип реестров, если его измененная версия, затем программа загружается, и отображается информация о регистрации. Я также храню регат, который я сравниваю с днем запуска программы, и - если регрессия больше или равна сегодняшней дате, пользователь получает возможность перерегистрироваться.
Если он обнаруживает, что в ключевом файле хранится RegType TRIAL, то дата, когда они сначала запускались, хранится в ключевом файле, а первый флажок установлен в 1. Затем они могут использовать его в течение 14 дней. Каждый раз, когда они запускают программу, хранящаяся дата сравнивается с текущей датой.
Очень простой процесс записи. Это глупое доказательство? НЕТ, ничего! У меня был большой успех с моим приложением. Его не широко известно, поэтому нет хакеров, которые могут его взломать.