編集: ローカル セキュリティ機関 (LSA) にレジストリ情報を保存することで、現在のライセンス スキームをクラックするのをかなり困難にすることができます。ほとんどのユーザーは、そこからキー情報を削除できません。MSDN で LSA を検索すると、必要な情報が得られます。
ライセンス スキームに関する意見は、個人によって異なり、特定のユーザー グループ (写真家など) よりも開発者の間で大きく異なります。深呼吸をして、アプリケーションが解決するビジネス ニーズを考慮して、ターゲット ユーザーが何を受け入れるかを確認する必要があります。
これは、この件に関する私の個人的な意見です。同意しない声の個人がいるでしょう。
これに対する答えは、アプリケーションがどのように使用されるかによって大きく異なります。アプリケーションを毎日数回使用することが予想される場合は、非常に長い試用期間 (数か月) を利用して、ロックイン状況を作成することをお勧めします。これが機能するには、支払いがすぐに必要になることをソフトウェアがユーザーに警告する猶予期間が必要です。ソフトウェアが試用期間について沈黙していれば、猶予期間の前に大きな成功を収めることができます。
この非常に大胆な声明を信じるかどうかは、もちろん完全にあなた次第です。ただし、使用する場合は、アプリケーションの使用頻度が低いほど、試用期間を短くする必要があることに注意してください。また、支払いがユーザーにとって非常に迅速かつ簡単であることも非常に重要です (可能な限り少ないデータ入力と少ないクリック数)。
アプリケーションの使用方法について非常によくわからない場合は、非常に短い試用期間を選択する必要があります。私の経験では、この場合、アプリケーションが試用期間中であるという事実について沈黙していれば、より良い結果が得られます.
ライセンス目的では効果的ですが、「Call Home」機能は多くの人からプライバシーの脅威と見なされています。個人的には、使用しているソフトウェアに対価を支払っても構わないと思っている顧客にとって、これは悪いことだという考えには同意しません。したがって、アプリケーションが定期的にライセンス ステータス (試用版、有料) をチェックし、ユーザーがソフトウェアの支払いに応じられるようにするライセンス スキームを実装することをお勧めします。ただし、これは小さなユーティリティ アプリケーションではやり過ぎかもしれません。
非常に小規模な、または単純なユーティリティ アプリケーションの場合は、試用期間なしの前払いが最も効果的であると私は主張します。
ソリューションのセキュリティに関しては、開発作業に比例するようにする必要があります。私の仕事では、パートナーやディーラーが関与し、開発への投資が非常に高いため、セキュリティは非常に重要です。小規模なユーティリティ アプリケーションの場合は、適切な価格設定を行い、ビジネス ニーズに対応するソフトウェアにお金を払ってくれる正直なユーザーに頼る方が理にかなっています。