2008年3月19日水曜日

.NET Windows サービスアプリケーションのライセンス

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

該当製品:

  • /n software Red Carpet Subcription
  • IP*Works!
  • IP*Works! EDI
  • IP*Works! EDI AS2 Connector
  • IP*Works! S/MIME
  • IP*Works! S/Shell
  • IP*Works! Secure SNMP
  • IP*Works! SSH
  • IP*Works! SSL
  • IP*Works! Zip


現象:


Windows サービスアプリケーション内でもコンポーネントを利用できますか?

解決法:


はい、ご利用いただけます。ただしデモ版をご利用の場合、サービスのプロパティを変更してライセンスダイアログを表示できるようにしておく必要があります。これを行うには以下のようにします。
  1. MMC を起動します。
  2. "Services" スナップインを追加します。
  3. あなたの作成したサービスを探し、右クリックして "properties" を選択します。
  4. "Log On" タブをクリックします。
  5. "Allow service to interact with desktop" と書かれたチェックボックスをチェックします。

これにより当該サービスからのモーダルメッセージボックスがデスクトップに表示されるようになります。

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

あなたのアプリケーションがフォームを使用しない、あるいはコンポーネントを動的に生成するものである場合は、licenses.licx を手で作成することもできます。このファイルの各行は、それぞれがライセンス済みコンポーネント1個に対応しています。そしてそれぞれの行には当該コンポーネント名とライブラリ名が書かれています。例えば、あなたが利用するコンポーネントが nsoftware.IPWorks.dll の NNTP コンポーネントであれば、licx ファイルは次のようになっているでしょう:

nsoftware.IPWorks.Nntp, nsoftawre.IPWorks

なお既定値では Visual Studio はこれ以外の情報も付加します。もしライセンス上の問題が発生した場合はそれらの余分な情報を除去し、上のように2つの要素のみが含まれるようにしてみて下さい。

重要な注意事項:
  • licx ファイルは必ず "licenses.licx" という名称でなければなりません。また、当該プロジェクトに埋め込みリソースとして含まれていなければなりません。
  • 開発対象がクラスライブラリである場合は、当該クラスライブラリを参照する側のプロジェクトにも .lixc ファイルが埋め込みリソースとして含まれている必要があり、かつ参照する側は有効なライセンスがインストールされているマシンでコンパイルされる必要があります。
  • そして最後に注意する点としては、Visual Studio .NET には不具合があり、当該プロジェクトの名称に空白文字 " " が含まれていると licx ファイルを正しくマッチングすることができません。従ってもしプロジェクト名に空白文字が含まれている場合は、それらを除去するか別の文字に置換してからプロジェクトを再ビルドしてみて下さい。

0 件のコメント: