共用方式為


DismAddPackage 函式

將單一.cab或 .msu 檔案新增至 Windows 映像。

語法

HRESULT WINAPI DismAddPackage(
  _In_     DismSession            Session,
  _In_     PCWSTR                 PackagePath,
  _In_     BOOL                   IgnoreCheck,
  _In_     BOOL                   PreventPending,
  _In_opt_ HANDLE                 CancelEvent,
  _In_opt_ DISM_PROGRESS_CALLBACK Progress,
  _In_opt_ PVOID                  UserData
);

參數

會話 [in]
有效的 DismSession。 DismSession 必須與映射相關聯。 您可以使用 DismOpenSession將會話與映射產生關聯。

PackagePath [in]
要新增之.cab或 .msu 檔案的相對或絕對路徑,或包含單一.cab檔案之展開檔案的資料夾。

IgnoreCheck [in]
布林值,指定是否要忽略新增套件時完成的內部適用性檢查。

描述
true 忽略內部適用性檢查。
false 請勿忽略內部適用性檢查。

PreventPending [in]
布林值,指定是否要在套件有擱置的線上動作時新增套件。

描述
true 防止安裝具有擱置線上動作的套件。
FALSE 允許安裝具有擱置線上動作的套件。

CancelEvent [in, optional]
選擇性。 您可以設定此函式的 CancelEvent ,以便在用戶端發出訊號時取消進行中的作業。 如果在無法取消作業的階段收到 CancelEvent ,作業將會繼續並傳回成功碼。 如果收到 CancelEvent 且作業已取消,映射狀態為未知。 您應該先確認映射狀態,再繼續或捨棄變更,然後再開始一次。

進度 [in, 選擇性]
選擇性。 用戶端定義 DismProgressCallback的指標。

UserData [in, optional]
選擇性。 使用者定義的自訂資料。

傳回值

成功時會傳回 S_OK

備註

只有.cab檔案可以新增至線上映射。 .cab 或 .msu 檔案都可以新增至離線映射。

如果套件不適用,此函式會傳回特殊的錯誤碼。 您可以使用 DismGetPackageInfo 來判斷套件是否適用于目標映射。

範例

HRESULT hr = S_OK;
hr = DismAddPackage(Session, "C:\\packages\\calc.cab", FALSE, FALSE, NULL, NULL, NULL);

規格需求

需求 描述
支援的主機平臺 DISM API 可用於 Windows 評定與部署套件所支援的任何作業系統, (Windows ADK) 。 如需詳細資訊,請參閱 Windows ADK 技術參考
支援的映射平臺 Windows 7、Windows Server 2008 R2、Windows PE 3.0、Windows 8、Windows Server 2012、Windows 預先安裝環境 (Windows PE) 4.0、Windows 8.1、Windows Server 2012 R2、Windows 10、Windows Server 2016
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
標頭 DismAPI.h
程式庫 DismAPI.lib
DLL DismAPI.dll

另請參閱

DismAddDriver

DismEnableFeature

DismGetPackages

DismGetPackageInfo

DismRemovePackage

DismPackage

DismPackageInfo

DismPackageFeatureState