Как создать пробную версию программного обеспечения.NET?

Есть ли в Visual Studio встроенные инструменты для создания пробных версий программного обеспечения? Если нет, какие инструменты могут сделать эту работу?

Каковы лучшие практики для создания пробных версий на платформе.NET?

Как эти методы зависят от типа приложения (веб-приложения, приложения Windows Forms и т. Д.)?

5 ответов

Решение

"Пробный" статус является относительно нечетким понятием. Было бы трудно определить это так точно, чтобы для него можно было создать "инструмент".

Какой вариант?

Локально устанавливаемое программное обеспечение:

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

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

Веб-программное обеспечение:

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

Это очень хорошо освещено в Shareware Starter Kit. Он имеет код для ограниченных испытаний, безопасной активации, регистрации и интеграции Paypal. Настоятельно рекомендуется, вы не хотите изобретать это колесо.

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

Проверьте следующую ветку. Реализация 30-дневной пробной версии .

Существуют наборы инструментов, которые доступны для реализации функций пробной версии, как упомянуто в одном из потоков. Средство защиты от копирования ограничивает количество устройств.

Я не знаю, если Visual Studio предоставляет некоторые встроенные инструменты для реализации функции пробной версии в программном обеспечении.

Есть встроенные инструменты для лицензирования и защиты от копирования в Visual Studio или.Net. Вам нужно разработать собственную схему или использовать готовую.

Передовые практики и советы см. В этой статье: 8 способов сделать ваше программное обеспечение взломанным и защищенным от взлома с помощью CryptoLicensing

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я работаю в LogicNP Software, разработчиках CryptoLicensing

Функциональность пробной версии реализуется путем считывания из реестра установленной даты и, если выбран режим пробной или действительной версии...

эти классы можно использовать для чтения и записи в и из реестра...

    static string Regname = "Registryname";
    public bool writeRegistryKey(string Key, string value)
    {
        try
        {
            Microsoft.Win32.RegistryKey key;

            key = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(Regname);
            key.SetValue(Key, value);
            key.Close();
            return true;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
            return false;
        }
    }

    public string readRegistryKey(string Value)
    {
        try
        {

            string keyValue = null;
            Microsoft.Win32.RegistryKey key;
            key = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(Regname);
            keyValue = key.GetValue(id).ToString();
            key.Close();
            return keyValue;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
            return null;
        }
    } 
Другие вопросы по тегам