(2013-03-04 15:18:50 отредактировано anatolyvolodko)

Как обеспечить демо-режим при использовании .NET автозащиты?

Из документации не совсем понятно, можно ли (как?) реализовать следующие варианты использования по защите .NET-приложения (2-х или 3-х уровневого):

1. Приложение в демо-режиме может распространяться неограниченному числу лиц, стоимость защиты на копию должна быть невысокой, в идеале нулевой, или, по крайней мере, стремиться к нулю при увеличении числа копий (то есть стоимости порядка стоимости софтверного ключа на копию недопустимы, фиксированная стоимость на все копии - нормально).

2. Возможность активация копии без интернета (например, по E-Mail).

3. Защищенное приложение (после активации) должно работать в специальном демо-режиме (например, полнофункционально по меню, но с ограничением по объему данных и числу одновременных подключений - ограничения реализуются программно внутри приложения) в течение ограниченного времени (скажем 1 месяц) после первого запуска для неограниченного количества инсталляций.

4. После истечения демо-периода должны появляться некоторые дополнительные ограничения вплоть до полной потери работоспособности.

5. Приложение должно детально информировать пользователя о текущих и будущих ограничениях в случае отказа от покупки лицензии и сроках наступления таковых ("осталось 2 дня до ...").

6. При покупке официальной лицензии (допустимо и даже желательно включающей аппаратный ключ) то же самое приложение начинает работать в полнофункциональном режиме. Вариант с переустановкой, хотя и допустим, но нежелателен. Допускается замена фиксированного числа файлов уже установленного приложения (например, часть dll копируется в рабочий каталог приложения из подпапки папки "FullEdition", а при необходимости вернуться в демо-режим из подпапки "TrialEdition").

7. Поддержка следующих видов лицензирования (всех или выборочно)
- именованная лицензия на физическое лицо
- лицензия на количество одновременных подключений к некоторому серверу
- то же самое (именованная или параллельная лицензия), но в разрезе некоторого функционала (модуля, подсистемы, формы)
- на объем данных (например, число записей в некоторой таблице)
- на физический компьютер с некоторыми характеристиками, например число ядер, объем памяти

8. При превышении лицензионных ограничений (например, числа ядер) или отсутствии ключа приложение должно переходить в демо-режим (см. вышеприведенные пункты).

9. Наличие готовой функциональности выписки и учета лицензий, в том числе через интернет и E-mail

10. API, исходный код или другие механизмы расширения функциональность выписки и учета лицензий в части специфических требований клиента

11. Возможность развертывания функциональности выписки и учета лицензий у нас на площадке (случай, когда база клиентов и все процессы общения с ними - являются конфиденциальной информацией)

Также рассматриваются частичные решения (реализация не всех, а только некоторых требований).

В целом хотелось бы услышать мнение представителей Guardant о том, как они сами видят реализацию демо-режима (собственно основной вопрос данной темы). Если есть какая-то проработанная концепция с готовым решением в части Демо, то мы готовы пересмотреть свои требования (кроме 1.).


По вариантам лицензирования достаточно получить ответ в следующем разрезе:
(1) невозможно
(2) возможно, но наша помощь может только в части документации текущей имеющейся функциональности
(3) у нас есть наработки в этой области (например, примеры внедрения, демо-примеры, документация, консультации и т.д.) и мы можем предложить их клиенту для самостоятельного использования в своем продукте
(4) у нас есть готовое решение (как вариант - ведутся работы для подготовки такого решения с известной датой завершения)

Re: Как обеспечить демо-режим при использовании .NET автозащиты?

Анатолий,

С нашим текущим функционалом SP реализовать демо-режим действительно непросто (хотя и не невозможно).

Тем не менее, мы ведем работу над более-менее полноценным продуктом позволяющим делать триальные версии. В нем будут полностью удовлетворены ваши пункты 1-2-3-4-5. В пунктах 3-4 функциональные ограничения реализуются, естественно, Вами. Но ограничения по времени и полная потеря работоспособности делается ключом и нашим ПО.

Для пункта 6 - то реализуемо. Можно делать приложение универсальным, которое будет работать в зависимости от типа ключа, информации в нем, ограничений и прочего. Т.е. в идеальном варианте нужно только заменить ключ и ничего не переустанавливать.

По пункту 7 - реализация таких вариантов лицензирования - большей частью на Вас. Мы лицензируем локальные копии (лиц.информацию можно записывать в ключ в том числе), сетевые ключи позволяют контролировать количество подключений к серверу, но все варианты с ограничениями функционала - на Вас, что логично.

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

По пункту 9-10-11 - вы можете ознакомиться с имеющимся функционалом на демо-аккаунте сервера активации и в модуле поддержки Базы Данных GrdUtil. Полноценной CRM там конечно нет и не будет, для SP ключей самый разумный способ выгружать серийные номера готовые к активациии пачками и  использовать уже в составе ваших собственных средств работы с клиентами.

Re: Как обеспечить демо-режим при использовании .NET автозащиты?

Наш продукт для создания демо-версий должен быть готов к лету и базируется на имеющихся технологиях.

Будет выглядеть как софтверный ключ на большое количество активаций (скажем на 10 000 или 100 000). Ключ будет запоминать каждый компьютер где он активировался, и повторная активация будет невозможна. То есть для всех демоверсий одной и той же программы будет один серийный номер. Ограничения по времени устанавливаете Вы. К примеру, вы легко сможете получить серийник который активируется на 100 000 разных компьютерах по 1 разу максимум и умрет на каждом через 30 дней.