インストール前スクリプト

インストール前スクリプトは、同梱ファイルの抽出の前にインストール機能を実行する権限を拡張モジュールに付与します。
casp1032jp
インストール前スクリプトは、同梱ファイルの抽出の前にインストール機能を実行する権限を拡張モジュールに付与します。
拡張モジュールにインストール前スクリプトを含めるには、拡張モジュール インデックス ファイルの行に以下のような行を含めます。
file: Install preinst ? script.pl ?
行エントリでは、script.pl を、出荷するインストール前スクリプトの実際の名前で置き換えます。script.pl に相当するものがインデックス ファイルと同じディレクトリにない場合は、必要に応じて、ターゲット ディレクトリ フィールドを変更します。
インストール前スクリプト
インストール前スクリプトは、Perl 5 プログラミング言語で記述されたコード フラグメントです。このように、インストール前スクリプトは非常に複雑なインストール前タスクに使用できます。ただし、インストール前スクリプトを使用して実行される最も一般的な機能は非常に単純で、以下のことが含まれます。
  • 拡張モジュールの以前のバージョンでインストールされた、廃止されたファイルの削除
  • 拡張モジュールがインストールされたときに上書きまたは変更される可能性のあるファイルのバックアップ
  • 拡張モジュールの同時インストールによって悪影響を受ける可能性のあるプログラムの実行を一時停止
このセクションでは、インストール前モジュールでファイルを削除し、バックアップを作成する方法を示します。複雑なインストール前関数は、プログラミング言語 Perl 5 に熟練した開発者によって簡単にプログラムできます。
以下の例では、拡張モジュールの以前のリリースでインストールされた古いファイルを削除するためのインストール前モジュールを示します。架空の FOO 拡張モジュールの古いバージョンで、以下のファイルがインストールされており、現在の FOO 拡張モジュールによって使用されているこれらのファイルが使用できなくなるとします。
SG-Support/CsGIb/FooCom/CsModCnfg.30 SG-Support/CsGIb/FooCom/CsPortCfg.30 SG-Support/CsGIb/FooCom/CsPortCfg.XNT SG-Support/CsGIb/FooCom/CsPortCfgXNT.30
独自のファイルをインストールする前に FOO 拡張モジュールの新しいバージョンは、これらの古いファイルをクリーンアップする必要があります。
FOO 拡張モジュールの古いバージョンに、現在のバージョンに付属している以下の設定ファイルが含まれており、ユーザがインストール領域の footool.cfg を編集したとします。
SS-Tools/footool.cfg
新しい FOO 拡張モジュールをインストールする前に footool.cfg をバックアップしない場合、footool.cfg の新しいバージョンにより古いバージョンが上書きされ、古いバージョンに対して行ったユーザの編集は失われます。
これらの問題に対処するには、FOO 拡張モジュールにインストール前スクリプトを追加します。最初のインストール前スクリプトは SG 製品に関連付けられ、FOO 拡張モジュールの SG ファイルを抽出する前に実行されます。このインストール前スクリプトは古いファイルを削除するために使用されます。
removeFiles( "SG-Support/CsGIb/FooCom/CsModCnfg.30", "SG-Support/CsGIb/FooCom/CsPortCfg.30", "SG-Support/CsGIb/FooCom/CsPortCfg.XNT", "SG-Support/CsGIb/FooCom/CsPortCfgXNT.30", );
Perl の標準装備ではない removeFiles() 関数は、インストール前スクリプトで使用するために CA によって提供されます。任意の数の相対ファイル パス名を引数として取り、
CA Spectrum
 インストール ディレクトリへの相対パス名を削除します。パスがファイルを指定する場合、そのファイルは削除されます。パスがディレクトリを指定する場合、そのディレクトリは再帰的に削除されます。パスが存在しないか絶対パスの場合、そのまま無視されます。
removeFiles() は、誤ってファイルを削除する可能性を最小限にするように設計されています。インストール前スクリプトでは、Perl の unlink() 関数よりも removeFiles() を優先的に使用します。必要なファイルを削除しないように注意してください。
2 番目のインストール前スクリプトは SS 製品に関連付けられ、FOO 拡張モジュールの SS ファイルを抽出する前に実行されます。このインストール前スクリプトは footool.cfg を保存するために使用されます。
# SS preinstall script for FOO extension module # Save the footool configuration file saveFiles("SS-Tools/footool.cfg");
saveFiles() はネイティブの Perl ではないため、インストール前スクリプトでの使用のみ、サポートされています。saveFiles() は任意の数の相対ファイル パス名を引数として取り、
CA Spectrum
 インストール ディレクトリから再帰的にファイルを Install-Tools/SAVES ディレクトリの保存領域にコピーします。保存領域は、インストールごとに固有のため、1 回のインストール中に保存されたファイルは、以降のインストール中に保存されたファイルによって上書きされません。保存領域は多くのインストールを繰り返して蓄積され、ディスク領域を消費(インストールまたは製品のエラーにつながる可能性があります)するため、大きいファイルを保存しないようにする必要があります。