INF CopyINF ディレクティブ
CopyINF ディレクティブにより、指定された INF ファイルがターゲット システムにコピーされます。 CopyINF ディレクティブは、Windows XP 以降のバージョンの Windows でサポートされています。
[DDInstall]
CopyINF=filename1.inf[,filename2.inf]...
解説
CopyINF ディレクティブのシステム サポートは、Microsoft Windows XP 以降のバージョンの Windows で利用できます。
このディレクティブは、通常、多機能デバイスをインストールするときに使用されます。 多機能デバイスのインストールに複数の INF ファイルが必要な場合 (複数のセットアップ クラスに属する複数の関数の場合)、このディレクティブを使用すると、Windows が関数をインストールするときに INF ファイルが見つかります。 次のルールを使用します。
多機能デバイスによって提供される関数が親デバイス (IEEE 1284.4 デバイスなど) の子として列挙される場合、親デバイスの INF ファイルには、デバイスの個々の関数の INF ファイルをコピーする CopyINF ディレクティブが必要です。
多機能デバイス (PCI カード など) によって提供されるすべての関数が相互のピアとして列挙される場合、各関数の INF ファイルには、すべてのピア関数の INF ファイルをコピーする CopyINF ディレクティブが必要です。
これらの規則に従うと、Windows は、各関数のインストール ディスクをユーザーに求めることなく、各関数のドライバーをインストールできます。
CopyINF ディレクティブには、次の点が適用されます。
Windows Vista の前に、Windows は、デバイスが正常にインストールされた後、 DIF_INSTALLDEVICE の既定の処理の一部として指定された INF ファイルをコピーします (SetupDiInstallDeviceを参照)。
Windows は、指定された INF ファイルを、デバイスのインストール時に検索するシステム ディレクトリ パスにコピーします。
CopyINF ディレクティブで指定される INF ファイルは、 CopyINF ディレクティブを含む INF ファイルと同じディレクトリ、またはそのディレクトリのサブディレクトリ内に存在する必要があります。 INF ファイルがサブディレクトリに存在する場合、 CopyINF ディレクティブには、その INF ファイルへの完全な相対パスを含める必要があります。 たとえば、
CopyINF=SubDir1\SubDir2\Example.inf
のようにします。マルチディスク インストールの各ディスクにすべての INF ファイルを含める必要があります。
Windows Vista 以降では、 CopyINF ディレクティブにも次の点が 適用されます。
CopyINF ディレクティブにより、指定した INF ファイルによって参照される完全な ドライバー パッケージ が ドライバー ストアにコピーされます。 これは、多機能ドライバー パッケージの展開をサポートするために必要です。これは、デバイスが実際にインストールされるときに元のソース メディアが使用できない可能性があるためです。 指定した INF ファイルによって参照されるドライバー パッケージが既にドライバー ストアに存在する場合、 CopyINF ディレクティブで指定された INF ファイルは無視されます。
CopyINF ディレクティブは、デバイスのインストール時ではなく、ドライバー ストアのインポート中に処理されます。 つまり、Windows Vista 以降のバージョンの Windows で SetupCopyOEMInf を呼び出すと、指定した INF ファイル内のすべての CopyINF ディレクティブがその時点で処理されます。 これは、参照されているすべてのドライバー パッケージがドライバー ストアにコピーされるまで、指定した INF ファイル内に含まれる各 CopyINF ディレクティブに対して再帰的に発生します。
Windows 10 バージョン 1511 以降では、特定の状況 (Windows Update の実行や DiInstallDeviceの一部の呼び出しなど) では、 CopyINF でコピーされた INF も該当するデバイスにインストールされます。
INF ファイルのコピー方法の詳細については、「INF のコピー」を参照してください。
例
[MyMfDevice.NTx86]
CopyINF = Sound.INF