製品版を使っているのにトライアル版のダイアログが表示される licenses.licx の正しい設定方法

GrapeCityなどのベンダーのコンポーネントを使用している場合に、正規ライセンスを購入しているのにトライアル版のダイアログが出てしまう事があります。

製品版を使っているのにトライアル版のダイアログが表示される
http://www.grapecity.com/japan/support/kb/detail.asp?id=13343

これは、コンパイル時のライセンス認証に使用される licenses.licx ファイルの設定内容に過不足が有るためです。不足している場合はもちろん、必要でないものについてもlicenses.licxに記載しているとトライアル版のダイアログが表示されてしまいます。licenses.licxは、過不足無く記載する必要があり、大は小を兼ねるといって余分に記載すると失敗します。また、参照設定しているアセンブリがライセンス情報を必要とする場合は参照設定先のアセンブリが必要なライセンス情報のすべてを必要とします。例えば、Aを参照設定しているBをコンパイルするためにはAに必要なライセンス情報に加えてBで使用しているライセンス情報が必要になります。

この依存関係を整理するには、プロジェクト毎の使用コンポ―ネントと、アセンブリの参照設定のマトリックスを書く必要があります。実際にそうした設定を行うのは骨の折れる作業です。

シンプルな解決策としてお勧めなのが、すべてのアセンブリが参照設定する共通のアセンブリに使用する商用コンポーネントをすべて参照設定し、全プロジェクトで利用できるlicenses.licxを1つだけ作成する方法です。

licenses.licxファイルを1つに決める事で、全プロジェクトで使用するlicenses.licxを統一することが出来ます。

補足:licenses.licxに設定する値はベンダーのヘルプマニュアルに記載されている場合が多いです。もしくはFormにコンポーネントを配置した場合に自動的にlicenses.licxに出力されるので、その値でも問題ないです。