使用 DISM API

部署映像服務與管理 (DISM) API 可讓您在 DISM 平臺上建置自訂的解決方案。 您可以使用 DISM API 在 Windows 映像中安裝、卸載、設定及更新 Windows 功能、套件和驅動程式。 DISM 可用來在 Windows 映像 (.wim) 檔案格式或虛擬硬碟 (.vhd、.vhdx) 檔案中管理及服務 Windows 映像。

需求

您必須在開發電腦上安裝 Windows 評定及部署套件 (Windows ADK) ,才能建立 DISM API 應用程式:

  • DISM 平臺上的自訂解決方案是使用 DISM SDK 開發。 安裝 Windows ADK 時,就會安裝此專案。 如需支援作業系統的詳細資訊,請參閱 Windows 評定與部署套件 (Windows ADK) 技術參考

  • 在 DISM 平臺上執行自訂解決方案時,您必須確認 Windows ADK 架構版本符合作業系統架構版本。 例如,針對 32 位電腦開發的自訂解決方案會在 32 位版本的 Windows 上執行。

  • 若要在 DISM 平臺上正確開發和執行自訂解決方案,您必須確認您使用的是來自 Windows ADK 的 DISM 二進位檔:

    • 在將執行自訂解決方案的電腦上安裝最新版本的 Windows ADK。

    • 自訂解決方案的二進位檔案必須儲存在與 Windows ADK 所安裝 DISM 二進位檔相同的目錄中。 例如,自訂解決方案二進位檔必須位於 c:\Program Files (x86) \Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM中。

    • 部署和映射處理工具環境 執行自訂解決方案,以便在執行解決方案之前設定必要的環境變數。

      從 [開始] 畫面中,輸入部署。 以滑鼠右鍵按一下 [部署和映射處理工具環境] ,然後選取 [ 以系統管理員身分執行]。

      注意 如果您未從 部署和映射處理工具環境執行,您必須確認 PATH 環境變數使用來自 Windows ADK 的 DISM 二進位檔位置。

  • 您需要支援的 Windows 映像檔案類型、.wim、.vhd 或 .vhdx,或 Windows 的線上安裝,才能使用 DISMAPI 進行維護和管理。 某些作業在線上影像上無效。 如需詳細資訊,請參閱 DISM API 參考

支援的目標映射

您在主機電腦上維護的 Windows 映像檔可以是 .wim 檔案、.vhd 或 .vhdx 檔案,或 Windows 的線上安裝。 此外,也支援跨架構服務。 您可以從 x86 系統或 x64 系統服務 x64 映射。 您可以從 x64 系統或 x86 系統服務 x86 映射。

所有 DISMAPI 函式都可以在Windows 8和Windows Server 2012目標映射上執行。 若要查看函式是否可以在其他目標影像上執行,請參閱 DISM API 參考中的函式參考主題的需求一節。

最佳做法

記憶體管理。 某些 DISM API 函式會傳回結構或結構的陣列。 這些結構會以堆積上物件的指標的形式傳回給使用者。 堆積記憶體是由 DISM API 所配置。 用戶端必須呼叫 DismDelete 函式 ,以確保釋放此記憶體。

使用 DiskPart 工具掛接 VHD。 可能的話,您應該使用 DISM API 來掛接和卸載您想要在 DISM 架構中服務的映射。 使用另一個工具,例如 DiskPart 工具掛接和卸載映射可能會產生非預期的影響。

檔案路徑。 DISM API 函式接受的所有路徑可以是相對或絕對路徑。 最佳做法是限制檔案路徑的長度。 太長或超過 Windows 最大長度限制的檔案路徑會導致 DISM 失敗。

比對呼叫以開啟和關閉會話。 在呼叫DismShutdown函式之前,一律使用DismCloseSession 函式來釋放 DISM 會話。 您也可以在關閉會話之後,以及在呼叫 DismShutdown 函式之前,使用 DismUnmountImage 函 式取消掛接映射。

其他 DISM 工具

如需 DISM 平臺和其他存取服務與管理功能方式的詳細資訊,請參閱 Windows 評定與部署套件中的 DISM 技術參考 (Windows ADK) 技術參考。 您也可以使用 Windows ADK 中的DISM.exe工具來擷取映射作為 .wim 檔案。

建立 DISM 應用程式

DISM API 疑難排解

HLK API 參考資料

DISM API 範例Samples