27

Visual Studio には、ソフトウェアの試用版を作成するためのツールが組み込まれていますか? いいえの場合、どのツールがその仕事をすることができますか?

.NET プラットフォームで試用版を作成するためのベスト プラクティスは何ですか?

これらのプラクティスは、アプリケーションの種類 (Web アプリケーション、Windows フォーム アプリケーション、DLL など) によってどのように異なりますか?

4

5 に答える 5

9

これはShareware Starter Kitで十分にカバーされています。限定トライアル、安全なアクティベーション、登録、Paypal 統合のためのコードが含まれています。強くお勧めします。その車輪を発明したくありません。

私が提供したリンクは素晴らしいものではありません。ライセンスをクリックしてダウンロードする必要があります。そのキットの C# 固有のバージョンを説明するリンクが見つかりません。

于 2010-03-11T13:58:41.630 に答える
8

「トライアル」ステータスは、比較的あいまいな概念です。「ツール」を作成できるように正確に指定するのは難しいでしょう。

どんなオプション?

ローカルにインストール可能なソフトウェア:

  • 法的制限。すべての機能はすぐに提供されますが、試用期間が終了したら、ユーザーは自発的に使用を中止する必要があります。基本的には、信用による保護(個人利用者の場合)か、起訴による保護(法人利用者の場合)です。

  • 制限された機能。ユーザーはライトバージョンをダウンロードできます。フル機能を使用する場合は常に、残りの機能のロックを解除するライセンス キーを要求します。または、完全版の秘密のダウンロード リンクを提供します。さらに良いのは、透かし入りのバイナリを作成して、そのソースへの不正な使用/配布を追跡できるようにすることです。

ウェブ ソフトウェア:

  • 試用版か完全版かは、ユーザー アカウントで有効化された機能の問題です。すべてのユーザーが Web 経由でアプリケーションにアクセスするため、不正な方法でインストールするためのソフトウェア コピーを持っている人はいません。各ユーザーは自分のアカウントで作業し、許可された機能のみにアクセスできます。
于 2010-03-11T10:05:08.717 に答える
3

次のスレッド 30 日間のタイム トライアルの実装を確認してください。

ユニット数を制限するためのスレッド コピー保護ツールの 1 つに記載されているように、試用版の機能を実装するために利用できるツールキットがあります。

ソフトウェアに試用版機能を実装するための組み込みツールが Visual Studio に用意されているかどうかはわかりません。

于 2010-03-11T10:02:14.657 に答える
1

Visual Studio または .Net には、ライセンスおよびコピー防止のための組み込みツールがあります。独自のスキームを開発するか、既製のスキームを使用する必要があります。

ベスト プラクティスとヒントについては、この記事を参照してください

免責事項: 私は、CryptoLicensing の開発者である LogicNP Software で働いています。

于 2011-07-29T08:02:33.330 に答える
0

試用版の機能は、レジストリからインストールされた日付を読み取ることによって実装され、モードが試用版または有効である場合...

これらのクラスは、レジストリへの読み書きに使用できます...

    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;
        }
    } 
于 2013-01-09T09:55:20.093 に答える