INF SourceDisksNames セクション
SourceDisksNames セクションは、インストール時にターゲット コンピューターに転送されるソース ファイルを含む配布ディスクまたは CD-ROM ディスクを識別します。
[SourceDisksNames] |
[SourceDisksNames.x86] |
[SourceDisksNames.ia64] | (Windows XP and later versions of Windows)
[SourceDisksNames.amd64] | (Windows XP and later versions of Windows)
[SourceDisksNames.arm] | (Windows 8 and later versions of Windows)
[SourceDisksNames.arm64] (Windows 10 version 1709 and later versions of Windows)
diskid = disk-description[,tag-or-cab-file] |
diskid = disk-description[,[tag-or-cab-file][,[unused][,path]]] |
diskid = disk-description[,[tag-or-cab-file],[unused],[path][,flags]] |
diskid = disk-description[,[tag-or-cab-file],[unused],[path],[flags][,tag-file]] (Windows XP and later versions of Windows)
...
エントリ
diskid
ソース ディスクを識別する負でない整数を 10 進形式で指定します。 この値には、4 バイトを超えるストレージを必要とすることはできません。 ディストリビューションに複数のソース ディスクがある場合、このセクションの各 diskid エントリには、 1、2、3 などの一意の値が必要です。
disk-description
diskid で識別されるディスクの内容や目的を記述する %strkey% トークンまたは "引用符で囲まれた文字列" を指定します。 インストーラーは、インストール時にこの文字列の値をエンド ユーザーに表示できます。たとえば、インストール プロセスの特定の段階でドライブに挿入されるソース ディスクを識別できます。
このセクションのすべての %strkey% 仕様は、INF の Strings セクションで定義する必要があります。 %strkey% トークンではないディスク記述 は、ユーザーが参照できる文字列であり、先頭または末尾にスペースがある場合は、二重引用符 (") で区切る必要があります。
tag-or-cab-file
この省略可能な値は、インストール ルート または パスで指定されたサブディレクトリ (存在する場合) に、配布ディスクに指定された タグ ファイル または キャビネット (.cab) ファイル の名前を指定します。 この値では、ディレクトリやサブディレクトリではなく、ファイル名と拡張子のみを指定する必要があります。
Windows では、タグ ファイルを使用して、ユーザーが正しいインストール ディスクを挿入したことを確認します。 タグ ファイルはリムーバブル メディアに必要であり、固定メディアの場合は省略可能です。
Windows がインストールメディア上でインストールファイルを名前で見つけることができず、tag-or-cab-file が拡張子 .cabを持つ場合、Windows はそれをインストールファイルを含むキャビネットファイルの名前として使用します。
拡張子.cab が指定されている場合、Windows は、次 の「解説」セクションで説明するように、ファイルをタグ ファイルとキャビネット ファイルの両方として扱います。
Windows XP 以降のバージョンの Windows については、フラグ と タグ ファイル のエントリ値も参照してください。
未使用
このエントリは、Windows 2000 以降のバージョンの Windows ではサポートされなくなりました。
path
この省略可能な値は、ソース ファイルを含むディストリビューション ディスク上のディレクトリ パスを指定します。 パス は インストール・ルート からの相対パスで、 \ディレクトリ名1\ディレクトリ名2......といった形で表される。 この値をエントリから省略すると、ファイルはディストリビューション ディスクのインストール ルートにあると見なされます。
INF SourceDisksFiles セクション を使用して、ソース ファイルを含む特定のパス ディレクトリを基準としたサブディレクトリを指定できます。 ただし、タグ ファイルと キャビネット ファイル は、指定されたパス ディレクトリまたはインストール ルートに存在する必要があります。
flags
Windows XP 以降では、これを 0x10 に設定すると、Windows では、キャビネット ファイル名としてtag-or-cab-fileが使用され、タグ ファイル名としてtag-fileが使用されます。 それ以外の場合、 フラグ は内部でのみ使用されます。
tag-file
Windows XP 以降では、フラグ が 0x10 に設定されている場合、この省略可能な値は、インストール ルート または パスで指定されたサブディレクトリ内の配布メディアで指定された タグ ファイル の名前を指定します。 この値では、パス情報なしでファイル名と拡張子を指定する必要があります。 詳細については、「解説」を参照してください。
解説
SourceDisksNames セクションには、ディストリビューション ディスクごとに 1 つずつ、任意の数のエントリを含めることができます。 SourceDisksNames セクションを持つ INF には、INF SourceDisksFiles セクションも必要です。 (慣例により、SourceDisksNames セクションと SourceDisksFiles セクションは INF バージョン セクションに従います。)
これらのセクションは、システム提供の INF ファイルには表示されません。 代わりに、システム提供の INF ファイルは、Version セクションで LayoutFile エントリを指定します。
SourceDisksNames セクションのエントリには、2 つの形式のいずれかを指定できます。そのうちの 1 つは Windows XP 以降のバージョンの Windows でのみサポートされます。
最初の形式では、tag-or-cab-file パラメーターで タグ ファイル または キャビネット ファイルを指定できます。 この形式を検出すると、Windows では次のアルゴリズムが使用されます。
タグまたは cab ファイル の値をタグ ファイル 名として扱い、インストール メディアでファイルを探します。 メディアがリムーバブルで、タグ ファイルが見つからない場合は、適切なメディアをユーザーに求めます。 メディアが固定されていて、タグ ファイルもインストールする最初のファイルも見つからない場合は、適切なメディアをユーザーに求めます。
メディアから直接インストール ファイルのコピーを試みます。
タグまたは cab ファイル の値を.cabファイルとして扱い、ファイルを探します。
.cab ファイルからインストール ファイルのコピーを試みます。
ファイルが見つからない場合は、ユーザーにメッセージを表示します。
第二の形式は、Microsoft Windows XP 以降のバージョンでサポートされています。 この形式では、タグまたは cab ファイル、フラグ、タグ ファイル のエントリを使用して、.cab ファイルとタグ ファイルの両方を指定できます。 この形式を検出すると、Windows では次のアルゴリズムが使用されます。
インストール メディアがリムーバブルである場合は、タグ ファイルで 指定されたファイル名と一致するタグ ファイルを探します。 ファイルが見つからない場合は、ユーザーに適切なメディアの入力を求めます。 メディアが固定されている場合は、タグ ファイルまたはキャビネット ファイルを探します。 ファイルが見つからない場合は、ユーザーに適切なメディアの入力を求めます。
tag-or-cab-file で指定された.cab ファイルからインストール ファイルのコピーを試みます。
ファイルが見つからない場合は、ユーザーにメッセージを表示します。
どちらの形式でも、ドライバー ファイルのバージョンごとに異なるファイル名を持つ異なるタグ ファイルを指定する必要があります。
複数のシステム アーキテクチャでのドライバー ファイルの配布をサポートするには、SourceDisksNames に.x86、.ia64、.amd64、またはその他のアーキテクチャ拡張機能を追加することで、アーキテクチャ固有の SourceDisksNames セクションを指定できます。
DDInstall セクションなどの他のセクションとは異なり、SourceDisksNames セクションのプラットフォーム拡張機能は .ntx86、.ntia64、.ntamd64 などではありません。たとえば、x86 ベースのシステムのソース ディスク名セクションを指定するには、SourceDisksNames.ntx86 セクションではなく SourceDisksNames.x86 セクションを使用します。 同様に、SourceDisksNames.ia64 セクションを使用して Itanium ベースのシステムを指定し、SourceDisksNames.amd64 セクションを使用して x64 ベースのシステムを指定します。
インストール時に、SetupAPI 関数は、ジェネリック セクションを使用する前に、アーキテクチャ固有 の SourceDisksNames セクションを検索します。 たとえば、x86 ベースのプラットフォームへのインストール時に、INF ファイルがディスク "2" を参照している場合、デバイスインストール関数は SourceDisksNames.x86 でディスク "2" のエントリを探してから SourceDisksNames を検索します。
デバイスのインストール関数は、関連する SourceDisksFiles セクションと同じ INF ファイル内の SourceDisksNames および SourceDisksNames.architecture セクションを使用します。
例
次の例では、 write.exe ファイルはすべての Windows プラットフォームで同じであり、インストール ルートの \common サブディレクトリにある CD-ROM ディストリビューション ディスクにあります。 cmd.exe ファイルは、x86 ベースのプラットフォームでのみ使用されるプラットフォーム固有のファイルです。
[SourceDisksNames]
1 = "Windows NT CD-ROM",file.tag,,\common
[SourceDisksNames.x86]
2 = "Windows NT CD-ROM",file.tag,,\x86
[SourceDisksFiles]
write.exe = 1
cmd.exe = 2
次の例では、.tag ファイルと .cab ファイルの個別の仕様を含むエントリを使用します。
[SourceDisksNames]
1 = "Dajava","Dajava.cab",,,0x10,"Dajava.tag"
2 = "Osc","Osc.cab",,,0x10,"OSC.tag"
3 = "Win","Win.cab",,,0x10,"Win.tag"
4 = "XMLDSO","XMLDSO.cab",,,0x10,"XMLDSO.tag"
[SourceDisksFiles]
ArrayBvr.class=1
BvrCallback.class=1
BvrsToRun.class=1
choice.osc=2
custom.osc=2
login.osc=2
mwcload.exe=3
mwcloadw.exe=3
mwclw32.dll=3
Atom.class=4
DTD.class=4
Entity.class=4
Entry.class=4
[DestinationDirs]
Test = 13
[DefaultInstall]
CopyFiles = Test
[Test]
ArrayBvr.class
mwcloadw.exe
Entity.class
custom.osc
BvrCallback.class
BvrsToRun.class
choice.osc
login.osc
mwcload.exe
mwclw32.dll
Atom.class
DTD.class
Entry.class
[Strings]
Msft = "Microsoft"