2008年3月19日水曜日

.NET におけるライセンスについて

[http://www.nsoftware.com/kb/showentry.aspx?entry=01020301]

該当製品

  • IBiz Amazon Integrator .NET Edition
  • IBiz E-Banking Integrator .NET Edition
  • IBiz E-Payment Integrator
  • IBiz FDMS Integrator .NET Edition
  • IBiz FedEx Integrator .NET Edition
  • IBiz Paymentech Integrator .NET Edition
  • IBiz PayPal Integrator .NET Edition
  • IBiz QuickBooks Integrator
  • IBiz USPS Integrator .NET Edition
  • IP*Works!
  • IP*Works! S/MIME
  • IP*Works! S/Shell
  • IP*Works! Secure SNMP
  • IP*Works! SSL
  • IP*Works! Zip


現象:


.NET エディションの製品ライセンスを購入したにもかかわらず、"About" ダイアログが表示されてしまいます。

解決法:


弊社の .NET Edition コンポーネントは Microsoft 社の .NET ライセンシング・スキームを使用しています。これはつまり、ライセンス済みのコンポーネントがフォーム上にドラッグ&ドロップされた場合は常に Visual Studio.NET は自動的に "licenses.licx" という名称のファイルを作成し、当該プロジェクトに埋め込みリソース (embedded resource) として自動追加されることを意味します。Visual Studio .NET 上でライセンス済みコンポーネントが動作するには、この licx ファイルが必要となります。

なお、フォームを使用しない場合、あるいはコンポーネントを動的に生成して使用する場合は、licenses.licx ファイルを手で作成することができます。このファイルはライセンス済みの各コンポーネントに対応する行から構成されており、各行にはコンポーネント名とライブラリ名が格納されます。例えば nsoftware.IPWorks.dll の NNTP コンポーネントを使用するのであれば、licx ファイルは以下のようになるでしょう:

nsoftware.IPWorks.Nntp, nsoftware.IPWorks

既定値では Visual Studio は他の情報 (バージョンやカルチャ等) も記載しますが、ライセンスで問題が発生する場合はこれらの付帯情報を削除して上記2項目のみが含まれるようにすべきです。

重要事項:

  • licx ファイルは "licenses.licx" という名称でなければならず、かつ当該プロジェクトに埋め込みリソース (embedded resource) として含まれなければなりません。
  • クラスライブラリを開発する場合は、参照する側のプロジェクトにもこのlicx ファイルが埋め込みリソースとして含まれていなければならず、かつ有効なライセンスがインストールされているマシン上でコンパイルされなければなりません。
  • そして最後にもうひとつ注意すべき点があります。Visual Studio には、プロジェクト名称に空白文字 (" ") が含まれている場合、正しく licx ファイルを対応付けることができないという問題点があります。プロジェクト名に空白文字が含まれている場合はそれらを削除するか、別の文字に置換してからプロジェクトをリビルドしてください。

0 件のコメント: