Erstellen einer DISM-Anwendung

Sie können Anwendungen mithilfe der DISM-API auf jedem Computer entwickeln, auf dem das Windows ADK (Windows Assessment and Deployment Kit) installiert ist.

Einrichten der Entwicklungsumgebung

  1. Fügen Sie den Pfad zu „DismApi.lib“ als zusätzliche Abhängigkeit zu den Linkereingabeeigenschaften Ihres Projekts hinzu.

    Standardmäßig wird „DismApi.lib“ mit dem Windows ADK in diesem Pfad installiert: C:\Programme (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment and Imaging Tools\SDKs\DismApi\Lib\.

  2. Fügen Sie den Pfad zu „DismApi.h“ zu den Ressourceneigenschaften Ihres Projekts hinzu.

    Standardmäßig wird „DismApi.h“ mit dem Windows ADK in diesem Pfad installiert: C:\Programme (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment and Imaging Tools\SDKs\DismApi\Include\.

  3. Schließen Sie die DISM-API-Headerdatei „DismApi.h“ in Ihren Code ein.

Erforderliche DISM-API-Funktionen

Alle DISM-API-Prozesse müssen mit der DismInitialize-Funktion starten, bevor andere Aufrufe an die DISM-API vorgenommen werden können. Umgekehrt wird die DismShutdown-Funktion zum Beenden eines Prozesses verwendet.

Verwenden Sie zum Bereitstellen eines Offlineimages die DismMountImage-Funktion, um die Inhalte des Images einem Verzeichnis auf Ihrem lokalen Computer zuzuordnen, bevor Sie eine DISM-Sitzung öffnen.

Sie können ein Offline- oder Onlineimage von Windows mit einer DISMSession verknüpfen, indem Sie die DismOpenSession-Funktion aufrufen. Alle Wartungs- und Reparaturvorgänge in Images werden über eine DISMSession ausgeführt. Alle APIs, die Vorgänge in einem Image ausführen, akzeptieren „DismSession“ als ersten Parameter. Sie können die DismCloseSession-Funktion aufrufen, um eine DismSession freizugeben, und dann die DismUnmountImage-Funktion aufrufen, wenn Sie mit der Verwendung des Offlineimage fertig sind.

Für einige Vorgänge ist keine DISM-Sitzung erforderlich. Dazu gehören die DismGetImageInfo-Funktion, die DismGetMountedImageInfo-Funktion,die DismRemountImage-Funktion, die DismCleanupMountpoints-Funktion, die DismGetLastErrorMessage-Funktion, und die DismDelete-Funktion. Diese Vorgänge können jederzeit verwendet werden, nachdem die DismInitialize-Funktion aufgerufen wurde.

Ein Beispiel für eine einfache DISM-Anwendung finden Sie unter DISM-API-Beispiele.

Verwenden von DISM-API-Paaren zum Öffnen und Schließen von Prozessen

  1. Um einen DISM-Prozess zu starten, rufen Sie die DismInitialize-Funktion auf.

  2. Wenn Sie ein Offlineimage verwenden, rufen Sie die DismMountImage-Funktion auf.

  3. Sie können alle Funktionen aufrufen, die keine DISM-Sitzung erfordern, z. B. die DismGetMountedImageInfo-Funktion, nachdem Sie den Prozess mit der DismInitialize-Funktion gestartet haben.

  4. Wenn Sie ein Image verwalten möchten, verknüpfen Sie zuerst ein Offline- oder Onlineimage von Windows mit einer DISMSession, indem Sie die DismOpenSession-Funktion aufrufen.

  5. Jetzt können Sie alle Verwaltungs- oder Wartungsvorgänge für das Image ausführen, die eine DISM-Sitzung verwenden, z. B. die DismAddPackage-Funktion.

    Weitere Informationen zu verfügbaren Funktionen finden Sie unter DISM-API-Funktionen.

  6. Speichern Sie Ihre Änderungen mithilfe der DismCommitImage-Funktion.

  7. Wenn noch Sitzungen geöffnet sind, verwenden Sie die DismCloseSession-Funktion für jede einzelne Sitzung, um sie zu schließen und den zugewiesenen Arbeitsspeicher freizugeben.

  8. Wenn Sie mit dem Verwenden eines Offlineimages fertig sind, rufen Sie die DismUnmountImage-Funktion auf, um das bereitgestellte Image von Ihrem lokalen Computer zu entfernen.

  9. Um den Prozess zu schließen, verwenden Sie die DismShutdown-Funktion.

DISM-API-Beispiele