"LANSA 機能" とは、配布ツールにおける、リスナーのインストールと言った LANSA 追加機能リストやLANSA 実行環境の配布などの様々な設定を指します。
複数のアプリケーションを 1 つのディレクトリ構造にインストールできるようにするには、パッケージに含まれる LANSA 機能はオプションでなければいけません。1 つのパッケージのみが機能のいずれか 1 つのインストールを担当します。例えば、LANSA 実行環境のインストールは、1 つのアプリケーションのみにより実行されなければいけません。これは、アンインストール時に特に重要となります。オプションのアプリケーションに LANSA 実行環境が含まれており、これがアンインストールされた場合、機能セット全体が壊れてしまいます。このように、すべての LANSA 機能は互いに排他的な関係にあります。1 つの LANSA 機能をインストールできるのは、1 つのアプリケーションだけです。これは、バージョン・インストーラー・ファイルにより強制されます。
シンプルなアプリケーション構造の例としては、ベースとなるアプリケーションにすべての LANSA 機能をインストールして、オプションのアプリケーションには実行可能な LANSA のアーティファクトのみを含めます。
LANSA 実行環境は必須です。これが含まれていないアプリケーションがインストールされた場合は、LANSA 実行環境をすでに含むディレクトリにインストールされなければなりません。これは、バージョン・インストーラー・ファイルにより強制されます。
アンインストール時、最初にインストールされた、もしくはベースの (LANSA 実行環境を含む) アプリケーションが最後にアンインストールされるアプリケーションでなければいけません。これは、バージョン・インストーラー・ファイルにより強制されます。
バージョン・インストーラー・ファイルのインストール時、バージョン・インストーラー・ファイルに同梱されているすべての LANSA 機能がすでにインストールされているかどうかの確認が行われます。すでにインストールされている場合、どの機能がすでにインストールされているかを明示したメッセージが表示され、インストールは終了します。
アプリケーション、特にベース・アプリケーションのアップグレード時は、その他のどのアプリケーションのインストールにも影響を与えません。すべてのファイルが元の場所に残されます。これは、各アプリケーションのインストールが相互に排他的な関係にある場合にのみ、可能となります。ですから、LANSA 機能がすでにインストールされていないことを確実にするために、上記で説明のあったチェックは行われます。また、これはすべてのアプリケーション・オブジェクト、ショートカットなどにも同じことが言えます。LANSA では非 LANSA 機能の相互排他性はチェックされないため、LANSA 開発者は各オプションをインストールする前に機能セットのインストール・ディレクトリのスナップショットを取り、これに当てはまらないかをテストすることが重要となります。いずれにせよ、このオプションをアンインストールして、元の場所にあったものが変更されていないことを確実にします。このスナップショットは Diff Toolを使って比較することもできます。ショートカットなどその他のインストール設定は、インストール・テストの一部として素早く実行できるため、PowerShell スクリプトで確認すると良いでしょう。