PowerShell スクリプトを使用してインストールを自動化する際、2 つめのパッケージをインストールする前に、パッケージ設定がレジストリから読み込まれます。ですから、2 つめのパッケージではパッケージ設定を更新する機会はありません。例えば、アプリケーションが JITアップグレードを使用している場合、JIT 設定は最初のパッケージで指定されていなければなりません。これが行われていない場合、2番目のインストールの設定は無視され、JITは正しく設定されません。
FSD のサンプル・ファイルは <sysdir>\x_apps\x_featuresets\ フォルダ内に提供されています。
fsdExample.ps1 は、GUI を作成して選択の MSI を実行するパワフルな powershell です。上部では変数を定義でき、これを使ってスクリプトの動作をカスタマイズできます。
このスクリプトは基本的に $installs 配列によりコントロールされます。このサンプルでは、最初の行は必須インストールである必要があります。これは次のインストールが最初のインストールからのレジストリ設定を使って後続のインストールに引き渡すからです。 パラメータ"/qb" は、基本のインターフェースを作成します。このインターフェースは進捗を示しますが、入力のプロンプトではありません。
$packageLang と $xplatform はレジストリの検索・読み込みに利用されます。
このスクリプトにより作成されたダイアログは以下のように表示されます。
スクリプトが、以前にインストールが実行されたことがあると検知した場合、チェックボックスは以下のようになります。
このインストールは修復モードで再度実行されるか、入力が有効な場合、インストールがアップグレードでなければ、削除/修復のプロンプトが表示されます。
シンプルなラッパー・スクリプト runFSD.bat が存在します。これは、PowerShell スクリプトを呼び出す Windows バッチ・ファイルです。
この例では、LANSA Inc の内部でも広く利用されているサードパーティ・ツール* Quick Batch File Compiler を使って、機能セットの選択ダイアログ、スクリプト・ツール、アプリケーションの MSI や MSP、サードパーティのインストール・イメージを含む、あらゆるインストール・アーティファクトがパッケージ化されています。Windows バッチ・ファイルを使い慣れている人であれば、Quick Batch File Compiler を簡単に理解することができます。バッチ・ファイルとファイルのセットがあれば、実行可能ファイルを埋め込み、作成できます。この実行ファイルは管理者インストールとしてフラグが立てらている可能性があり、管理者権限が必要なインストールを Windows エクスプローラーから直接実行できます。
以下はこのツールのメインのユーザー・インターフェースのスクリーンショットです。バッチ・ファイルの編集で PowerShell スクリプトが呼び出されます。 このバッチ・ファイルを "メモ帳" を使って編集すると、コンパイラに何を実行可能ファイルに含むすべきかの司令を出す多くの REM 行が追加されていることに気がつくでしょう。
* バッチ・ファイルを実行可能ファイルに変換できるツールは他にも多数あります。
スクリプト m.bat は、バッチ・ファイルのコンパイルに使用するシンプルな Windows バッチ・ファイルです。



