[ |../../index.htm#lansa/vldtool1_0030.htm]
現在地:
1.2.3 パッチとは?
パッチを使用して、Windows インストーラーを使ってインストールされたソフトウェア製品に一連の変更を配布します。ソフトウェア製品は新しいバージョン・インストーラー・ファイルのインストール、もしくはパッチ・インストーラー・ファイルの適用によりアップグレードできます。
- パッチは主に修正されコンパイルされたオブジェクト、ショートカットおよび実行可能ファイルの適用に使われます。パッチを使用したデータベースの変更管理は複雑で、データベース破損につながりやすいため、データベース変更を配布するためにパッチを使わないでください。ただし、リスクを承知の上であれば、このためのパッチ・インストーラー・ファイルの利用はサポートされています。
- パッチは、そのパッチ番号によって識別されます。パッチ番号はそのベースとなるバージョンもしくはパッチに直接関係があります。例えばパッチ1.0.0.1 はバージョン1.0.0の最初のパッチです。
- パッチは、親バージョンもしくはパッチをコピーして作成します。 このようにして、パッチは配布されるオブジェクトを含めて親の定義を継承します。
- パッチが作成されると、親バージョンもしくはパッチの作成と全く同じ方法で完全なバージョン・インストーラー・ファイルが作成されます。 最終的なMSIファイルはバージョンのMSIファイルと比較され、差分のMSPファイルが作成されます。このMSPファイルはパッチ・インストーラー・ファイルと呼ばれる場合もあります。
- パッチ・インストーラー・ファイルのみインストール可能なことに注意してください。 仮のバージョン・インストーラーはMSPが構築されると削除されます。
パッチ・インストーラー・ファイルは自己完結型のパッケージで、ソフトウェア製品のアップデートを含み、どのバージョンがこのパッチを受け取るかを記述します。パッチ・インストーラー・ファイルは通常非常に小さいので、多くの場合、製品のサービスとして、パッチを配布することが推奨されています。
パッチをアップデートされたオブジェクトの提供にのみ使用し、新しいオブジェクトがない場合、パッケージ定義内での変更は不要です。パッケージを保存し、作成してください。バージョンと現在のオブジェクトの状況との違いがパッケージに含められます。
通常、パッチは最後のパッチ定義から作成されるため、例えば新しいオブジェクトの追加のようなパッケージ定義への変更を含みます。
パッチの適用順によってインストールの結果が変わることはありません。パッチ1がMYFORM.DLL バージョン1.0.0.1を、パッチ2がMYFORM.DLL バージョン1.0.0.2を含む場合、パッチ1とパッチ2のどちらが先にインストールされても、結果としてMYFORM.DLL バージョン1.0.0.2がインストールされます。
パッチがアンインストールされる時も同様です。パッチ1をアンインストールする際、パッチがインストールしたDLLのバージョンのみに影響を与えます。バージョン1.0.0.2がインストールされているので、アンインストールするパッチ1はMYFORM.DLLをバージョン1.0.0で置き換えません。バージョンは1.0.0.2のままです。その後パッチ2をアンインストールした時のみ、バージョンは1.0.0.0に復元されます。
これは整然としているように思われるかもしれませんが、累加的でないパッチが作成されると管理は複雑になります。各パッチは、過去に発生した変更を全て含むか、もしくは必要であれば変更をバックアウトし、インストールをそのパッチのレベルに進ませるのに必要な唯一のパッチであると見なされなければなりません。したがって、ユーザーがどのパッチ・レベルのインストールを選択したかにかかわらず、最新のパッチのみインストールすれば最新のバージョンが取得できます。中間のパッチは不要です。注:生成された1つのマシンから順次パッチを作成し、オブジェクトを以前の状態に復元しないと、パッチは累加的になります。
以下も参照してください。
バージョニングの詳細については「1.2.2 バージョンとは?」を参照してください。
[ |../../index.htm#lansa/vldtool1_0030.htm]