2011-08-07 22 views
1

可能性の重複:
Where and how should I save license related information?ライセンスファイルはどこに保存すればよいですか?

私は、ユーザーに配布するために、自分のアプリケーションのためのライセンスファイルを作成します。しかし、私はどこにライセンスファイルをユーザーのコンピュータに格納すべきか分かりません。

提案がありますか? おかげ

+0

なぜアプリケーションフォルダにはありませんか? インストールの最後に表示することができます。 –

答えて

3

ライセンスは、ユーザーごとにある%APPDATA%ディレクトリに保存した場合。コンピュータライセンスごとの場合は、%PROGRAMDATA%ディレクトリまたはプログラムのインストールディレクトリに格納します。

%APPDATA%は、現在のユーザーのアプリケーションデータを格納するディレクトリを指すシェル変数です(コマンドウィンドウでsetと入力すると表示できます)。それはしばしばC:\Users\MyUser\AppData\Roamingのようなものです。ファイルを開くためのパスを指定する場合は、%APPDATA%変数を直接使用することができます。 %APPDATA%\MyCompany\LicenseFile.dat。コメントで@cdhowieが指摘しているように、環境変数を使用するよりも.NETのEnvironment.GetFolderPath()関数を使用する方が良いです。

%PROGRAMDATA%は同じように動作しますが、システム上のすべてのユーザーに対して共通であるディレクトリにマップされます。

+1

Anders、多分あなたはあなたが何を参照しているかを誰もが必ず知っているわけではないので、%APPDATA%と%PROGRAMDATA%の意味を簡単に説明することができます。 –

+0

@Charles:いい考えです。完了しました。 –

+3

これはC#というタグが付いているので、環境変数であるEnvironment.GetFolderPath()を使う方が適切かもしれません。 – cdhowie

1

暗号化されたレジストリキーの形式でライセンスを格納することもできます。 コンピュータライセンスごとに、キーをHKLM \ Software に保存し、ユーザーライセンスごとに、キーをHKCU \ Softwareに保存してください。

+0

暗号化されたデータを含むライセンスをレジストリキーに格納する必要がありますか?そのレジストリキーがどのくらい大きなデータを格納できるか知っていますか? –

+0

ライセンス情報を暗号化されたデータとして保存するのが最良の方法です。誰もデータを理解することができず、それでそれを修正することはできません。レジストリキーの制限に関するご質問に関連して、次のリンクを参照してください。http://msdn.microsoft.com/en-us/library/ms724872(v=vs.85).aspx –