共用方式為


INF AddSoftware 指示詞

每個 AddSoftware 指示詞都會描述獨立軟體的安裝。 這個指示詞應該用於 SoftwareComponent 安裝程序類別的 INF 檔案中。 如需軟體元件的詳細資訊,請參閱使用元件 INF 檔案 。 Windows 10 版本 1703 和更新版本支援此指示詞。

有效的安裝類型取決於 目標平臺。 例如,Desktop 支援 MSI 安裝程式和設定 EXE。

備註

通用驅動程式支援類型 2,類型 1 是僅限桌面電腦。

當軟體元件 INF 檔案指定 AddSoftware時,系統會將軟體排入安裝裝置之後安裝的軟體佇列。 當或是否已安裝軟體時,並無保證。 如果參考的軟體無法安裝,系統會在參考軟體元件更新時再次嘗試。

INF DDInstall中使用 AddSoftware 指示詞。[軟體] 區段。

[DDInstall.Software]
AddSoftware=SoftwareName,[flags],software-install-section

條目

SoftwareName
指定要安裝的軟體名稱。 不論 INF 或區段名稱為何,此名稱都必須是唯一的系統範圍。 AddSoftware 指示詞的處理,會依據任何驅動程式套件的 AddSoftware 指示詞,檢查以相同名稱安裝舊版軟體的版本。 建議您在 SoftwareName 前面加上廠商名稱,例如 ContosoControlPanel

旗標
指定一或多個 (ORed) 旗標。

0x00000000
AddSoftware 指示詞只會處理一次。

0x00000001
AddSoftware 指示詞會針對每個元件裝置處理一次,該裝置會指定具有相同唯一 SoftwareNameAddSoftware

例如,請考慮使用相同 INF 檔案安裝三個裝置的組態。 軟體安裝程式只會針對 旗標執行一次 0x00000000,但 旗標 0x00000001 執行三次。

software-install-section
參考 INF 寫入器定義的區段,其中包含安裝軟體的資訊。

備註

每個 INF 寫入器建立的區段名稱在 INF 檔案內都必須是唯一的,而且必須遵循定義區段名稱的一般規則。 如需這些規則的詳細資訊,請參閱 INF 檔案的一般語法規則。

AddSoftware 指示詞必須參考 INF 檔案中其他地方的具名 software-install-section。 每個這類區段都有下列形式:

[software-install-section]

SoftwareType=type-code
[SoftwareBinary=path-to-binary]
[SoftwareArguments=argument[, argument] …]
[SoftwareVersion=w.x.y.z]
[SoftwareID=pfn://x.y.z]

備註

如需區段專案和值的條件約束相關信息,請參閱 SoftwareType

使用 AddSoftware 安裝的任何軟體,都必須以無訊息方式安裝(或無訊息安裝)。 換句話說,安裝期間無法向用戶顯示任何使用者介面。

如果虛擬軟體元件裝置或其父裝置已卸載,任何使用 AddSoftware 安裝的軟體 都不會卸載。 如果您的軟體不是 UWP 應用程式(也就是您使用 AddSoftware,且 SoftwareType 為 1),請確定使用者可以輕鬆地卸載,而不需在登錄中留下追蹤。 要達成這個目標:

  • 如果您使用 MSI 安裝程式,請在應用程式的 Windows Installer 套件中設定 新增/移除程式 專案。

  • 如果您使用安裝全域登錄/檔案狀態的自訂 EXE(而不是補充本機裝置設定),請使用 卸載登錄機碼

Software-install-section 專案和值

SoftwareType={type-code}
SoftwareType 會指定軟體安裝的類型,而且是必要專案。

值為 1 表示相關聯的軟體是 MSI 或 EXE 二進位檔。 設定此值時,也需要 SoftwareBinary 專案。 Windows 10 S 不支援 1 的值。

如果 SoftwareType 設定為 1,SoftwareBinarySoftwareVersion 也是必要專案,但 SoftwareArguments旗標(在 AddSoftware 指示詞中)是選擇性的。

從 Windows 10 版本 1709 開始,值為 2 表示相關聯的軟體是Microsoft市集連結。 僅針對沒有圖形使用者介面的裝置特定軟體使用1值。 如果您有具有圖形元素的裝置特定應用程式,它應該來自 Microsoft Store,而驅動程式應該使用 SoftwareType 值 2 來參考它。

如果 SoftwareType 設定為 2,則需要 SoftwareID,且 旗標(在 AddSoftware 指示詞中) 為選擇性。 如果 SoftwareType 設定為 2,則不會使用 SoftwareBinarySoftwareVersion

備註

使用 AddSoftware 指示詞的 SoftwareType 2 時,不需要使用元件 INF。 指示詞可在任何 INF 中成功使用。 不過,必須從元件 INF 使用 Type 1 的 AddSoftware 指示詞。

請勿使用 AddSoftware 發佈與裝置無關的軟體。 例如,OEM 特定的電腦公用程式不應該與 AddSoftware 一起安裝。 請改用下列其中一個選項,在 Windows 10 的 OEM 映像中預安裝應用程式:

如需將驅動程式與通用 Windows 平臺 (UWP) 應用程式配對的相關信息,請參閱 將驅動程式與通用 Windows 平臺 (UWP) 應用程式配對硬體支援應用程式 (HSA):驅動程式開發人員的步驟

SoftwareBinary={filename}
指定可執行文件的路徑。 系統會產生如下的命令列:

MSI: msiexec /i "<SoftwareBinary>" ALLUSERS=1 /quiet /qn /promptrestart [<SoftwareArguments>]

EXE: <SoftwareBinary> [<SoftwareArguments>]

如果您使用這個專案,您必須指定 INF CopyFiles 指示詞,並將 DestinationDirs 值為 13 的可執行檔新增至 DriverStore。

備註

如需 SoftwareBinary 專案和值的條件約束相關信息,請參閱 SoftwareType

SoftwareArguments={argument1[, argument2[, ...argumentN]]}
指定要附加至命令行的擴充功能特定自變數。 您可以指定系統直接通過產生的命令行自變數。 您也可以 指定稱為執行時間內容變數的特殊字串。 當您指定運行時間內容變數時,系統會先將它轉換成裝置特定的值,然後再將它附加至產生的命令行。 您可以混合和比對常值字串自變數與運行時間內容變數。 支援的執行時間內容變數包括:

<<DeviceInstanceID>>

系統會以軟體元件的裝置實例標識碼取代上述字串。

例如:

    [DDInstall.Software]
    AddSoftware=ContosoControlPanel,,Contoso_ControlPanel_Software

    [Contoso_ControlPanel_Software]
    SoftwareType=1
    SoftwareBinary=ContosoControlPanel.exe
    SoftwareArguments=<<DeviceInstanceID>>
    SoftwareVersion=1.0.0.0

上述範例會產生如下的命令列:

<DriverStorePath>\ContosoControlPanel.exe PCI\VEN_0000&DEV_0001&SUBSYS_00000000&REV_00\0123

如果 SoftwareArguments 包含多個自變數:

    SoftwareArguments=arg1,<<DeviceInstanceID>>,arg2

上述結果為:

<DriverStorePath>\ContosoControlPanel.exe arg1 PCI\VEN_0000&DEV_0001&SUBSYS_00000000&REV_00\0123 arg2

備註

如需 SoftwareArguments 專案和值的條件約束相關信息,請參閱 SoftwareType

SoftwareVersion={w.x.y.z}
指定軟體版本。 每個值不應超過 65535。 當系統遇到重複 SoftwareName時,它會針對先前的 SoftwareVersion檢查 SoftwareVersion。 如果更大,Windows 會執行軟體。

備註

如需 SoftwareVersion 專案和值的條件約束相關信息,請參閱 SoftwareType

SoftwareID={x.y.z}
指定Microsoft市集標識碼和標識符類型。 目前僅支援套件系列名稱 (PFN)。 使用 PFN 參考通用 Windows 平臺 (UWP) 應用程式,並使用表單 pfn://<x.y.z>

備註

如需 SoftwareID 專案和值的條件約束相關信息,請參閱 SoftwareType

另請參閱

使用元件 INF 檔案

INF DDInstall.Software 區段

INF AddComponent 指示詞

將驅動程式與通用 Windows 平臺 (UWP) 應用程式配對

硬體支援應用程式 (HSA):驅動程式開發人員的步驟