INF AddSoftware 指示詞

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

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

注意

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

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

AddSoftware 指示詞會在 INF DDInstall 中使用。軟體區段。

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

項目

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

flags
指定一或多個 (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 app (亦即,您使用的是 AddSoftware 搭配 1) SoftwareType,請確定使用者可以輕鬆地卸載它,而不需在登錄中留下追蹤。 若要這樣做:

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

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

Software-install-section 專案和值

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

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

如果 SoftwareType 設定為 1,則也需要 SoftwareBinarySoftwareVersion,但 AddSoftware 指示詞中的 SoftwareArgumentsflags) (是選擇性的。

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

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

注意

使用 AddSoftware 指示詞的 SoftwareType 2 時,不需要利用元件 INF。 指示詞可以成功用於任何 INF。 不過,類型 1 的 AddSoftware 指示詞必須從元件 INF 使用。

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

如需將驅動程式與 通用 Windows 平台 (UWP) 應用程式配對的詳細資訊,請參閱將驅動程式與 通用 Windows 平台 (UWP) 應用程式和硬體支援應用程式 (HSA) :驅動程式開發人員的步驟

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

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

EXE: <SoftwareBinary> [<SoftwareArguments>]

如果您使用這個專案,則必須指定具有 DestinationDirs 值為 13 的 INF CopyFiles 指示詞,將可執行檔新增至 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 Store 識別碼和識別碼類型。 目前僅支援套件系列名稱 (PFN) 。 使用 PFN 以使用 格式pfn://<x.y.z>參考 通用 Windows 平台 (UWP) 應用程式。

注意

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

另請參閱

使用元件 INF 檔案

INF DDInstall.Software 區段

INF AddComponent 指示詞

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

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