結合平臺延伸模組與其他區段名稱延伸模組
如 建立多個平臺和作業系統的 INF 檔案中所述, INF 模型區段需要平臺延伸模組裝飾,但有其他區段是選擇性的。 不論平臺延伸模組裝飾是否用於這些區段,其選擇性通常取決於 INF 是否嘗試支援不同的平臺,以及安裝指示是否 (包含複製) 的確切檔案在每個平臺上都相同。
在 INF DDInstall 區段上使用平臺延伸模組時,所有相關的 DDDInstall 區段,例如 DDInstall。服務, DDInstall。HW和 DDInstall。介面 區段必須使用相同的平臺延伸模組。
包含 install-section-name 平臺延伸模組的 INF 檔案也可以包含平臺延伸模組及其 INF SourceDisksNames 區段 和 INF SourceDisksFiles 區段 專案,以特定平臺的方式指定安裝檔案位置。
範例:有多個平臺具有相同的安裝指示和複製的相同檔案
此範例 INF 檔案摘錄示範如果每個平臺有任何) 和安裝指示都相同,INF 應該支援多個平臺,該平臺應該支援複製 (檔案的多個平臺。
[SourceDisksFiles]
ArchitectureAgnosticFile.txt=1
[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleInstallSection]
CopyFiles=FilesToCopy
[FilesToCopy]
ArchitectureAgnosticFile.txt
[ExampleInstallSection.Hw]
...
範例:有多個平臺具有相同的安裝指示和複製的不同檔案
這個範例 INF 檔案的摘錄示範如果 INF 應該支援多個平臺,而每個平臺複製的檔案都不同,則 INF 的結構如何。 要複製的檔案可以透過架構特定的 [SourceDisksFiles] 區段來區分,但安裝區段仍然可以相同。
[SourceDisksFiles.x86]
ArchitectureSpecificBinary.sys=1,x86
[SourceDisksFiles.amd64]
ArchitectureSpecificBinary.sys=1,amd64
[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleInstallSection]
CopyFiles=FilesToCopy
[FilesToCopy]
ArchitectureSpecificBinary.sys
[ExampleInstallSection.Services]
AddService=ExampleService,2,ExampleServiceInstallSection
[ExampleServiceInstallSection]
...
範例:具有不同安裝指示和複製不同檔案的多個平臺
此範例 INF 檔案的摘錄示範如果 INF 應該支援多個平臺,而每個平臺複製的檔案不同,且安裝指示不同,則 INF 如何結構化。
[SourceDisksFiles.x86]
ArchitectureSpecificBinary.sys=1,x86
x86OnlyBinary.dll=1,x86
[SourceDisksFiles.amd64]
ArchitectureSpecificBinary.sys=1,amd64
[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleInstallSection.NTx86]
CopyFiles=FilesToCopy_x86
[FilesToCopy_x86]
ArchitectureSpecificBinary.sys
x86OnlyBinary.dll
[ExampleInstallSection.NTx86.Services]
AddService=ExampleService,2,ExampleServiceInstallSection
[ExampleInstallSection.NTamd64]
CopyFiles=FilesToCopy_amd64
[FilesToCopy_amd64]
ArchitectureSpecificBinary.sys
[ExampleInstallSection.NTamd64.Services]
AddService=ExampleService,2,ExampleServiceInstallSection
[ExampleServiceInstallSection]
...