DISM オペレーティング システム パッケージ (.cab または .msu) サービス コマンドライン オプション

Windows キャビネット (.cab) または Windows Update スタンドアロン インストーラー (.msu) ファイルで DISM を使用して、更新プログラム、言語パックをインストールまたは削除し、Windows 機能を有効または無効にします。 機能は、コア オペレーティング システムのオプション コンポーネントです。

構文

DISM.exe {/Image:<path_to_image_directory> | /Online} [dism_global_options] {servicing_option} [<servicing_argument>]

オフラインのイメージに対しては、次のオペレーティング システム パッケージ サービス オプションを使用できます。

DISM.exe /Image:<path_to_image_directory> [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]

実行中のオペレーティング システムに対しては、次のオペレーティング システム パッケージ サービス オプションを使用できます。

DISM.exe /Online [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]

/Get-Help /?

パッケージ サービス コマンドライン オプションの直後に使用すると、オプションと引数に関する情報が表示されます。

イメージを指定すると、追加のトピックが使用可能になる場合があります。

構文

Dism /Get-Help 

例:

Dism /Image:C:\test\offline /Add-Package /?
Dism /Online /Get-Packages /?

/Get-Packages

イメージ内のすべてのパッケージに関する基本情報を表示します。 /Format:Table または /Format:List 引数を使用すると、出力が表またはリストとして表示されます。

構文

Dism /Get-Packages [/Format:{Table | List}]

例:

Dism /Image:C:\test\offline /Get-Packages
Dism /Image:C:\test\offline /Get-Packages /Format:Table
Dism /Online /Get-Packages

/Get-PackageInfo

.cab ファイルとして提供されたパッケージに関する詳細情報を表示します。 .cab ファイルのみを指定できます。 このコマンドを使用して .msu ファイルのパッケージ情報を取得することはできません。 /PackagePath:<path_to_package> には、.cab ファイルまたはフォルダーのいずれかを指すことができます。

/Get-Packages オプションを使用してイメージ内のパッケージの名前を調べることも、.cab ファイルへのパスを指定することもできます。 .cab ファイルへのパスは、ファイルがオフライン イメージのどこにインストールされているかではなく、パッケージの元のソースを指している必要があります。

構文

Dism /Get-PackageInfo {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}

例:

Dism /Image:C:\test\offline /Get-PackageInfo /PackagePath:C:\packages\package.cab
Dism /Image:C:\test\offline /Get-PackageInfo /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Add-Package

イメージ内の指定された .cab または .msu パッケージをインストールします。

Note

/Add-Package を使用すると、オンラインまたはオフラインの Windows 11 バージョン 21H2 以降のイメージに .msu パッケージを追加できます。 Windows 11 バージョン 21H2 より前の Windows イメージを使用している場合は、オフライン ターゲット イメージに .msu パッケージのみを追加できます。

1 つのコマンド ラインで複数のパッケージを追加できます。 各パッケージの適用性が確認されます。 指定されたイメージにパッケージを適用できない場合は、エラー メッセージが表示されます。 各パッケージの適用性を確認せずにコマンドの処理を実行する場合は、/IgnoreCheck 引数を使用します。

構文

Dism /Add-Package /PackagePath:<path_to_cabfile> [/IgnoreCheck] [/PreventPending]
  • /PackagePath では、以下を指すことができます。

    • 単一の .cab または .msu ファイル。
    • 単一の展開された .cab ファイルを含むフォルダー。
    • 単一の .msu ファイルを含むフォルダー。
    • 複数の .cab または .msu ファイルを含むフォルダー。
  • /PackagePath がルートにある .cab または .msu ファイルを含むフォルダーを指している場合、すべてのサブフォルダーも .cab および .msu ファイルについて再帰的に確認されます。

  • パッケージまたは Windows イメージに保留中のオンライン アクションがある場合は、/PreventPending オプションを使用してパッケージのインストールをスキップします。

Note

/Add-Package では、パッケージの適用性と依存関係の完全チェックは実行されません。

  • 依存関係を含むパッケージを追加する場合は、パッケージを追加するときにすべての依存関係がインストールされていることを確認してください。
  • .msu を追加する場合は、パッケージ固有のインストール手順について、関連する KB を必ず確認してください。

例:

Dism /Image:C:\test\offline /LogPath:AddPackage.log /Add-Package /PackagePath:C:\packages\package.msu
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab /IgnoreCheck
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\test\packages\package.cab /PreventPending

/Remove-Package

指定された .cab ファイル パッケージをイメージから削除します。 .cab ファイルのみを指定できます。 このコマンドを使用して .msu ファイルを削除することはできません。

Note

このコマンドを使用してオフライン イメージからパッケージを削除しても、イメージのサイズは小さくなりません。

構文

/Remove-Package {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}
  • /PackagePath を使用して、パッケージの元のソースを指すか、CAB ファイルへのパスを指定するか、イメージにリストされている名前でパッケージを指定します。 /Get-Packages オプションを使用すると、イメージ内のパッケージの名前を調べることができます。

例:

Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0 /PackageName:Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~x86~~6.1.6801.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab

/Get-Features

パッケージ内のすべての機能 (オプションの Windows Foundation 機能を含むオペレーティング システム コンポーネント) に関する基本情報を表示します。

構文

/Get-Features {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>} [/Format:{Table | List}]
  • /Get-Features を使用すると、イメージまたはパッケージの元のソース内のパッケージの名前を調べることができます。 パッケージ名またはパスを指定しなかった場合、イメージ内のすべての機能が一覧表示されます。
  • /PackageName は、イメージ内のパッケージです。 /DISM Get-Packages を使用して、イメージ内のパッケージ名を確認できます。
  • /PackagePath には、.cab ファイルまたはフォルダーのいずれかを指すことができます。

/Format:Table または /Format:List 引数を使用すると、出力が表またはリストとして表示されます。

例:

Dism /Image:C:\test\offline /Get-Features
Dism /Image:C:\test\offline /Get-Features /Format:List
Dism /Image:C:\test\offline /Get-Features /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
Dism /Image:C:\test\offline /Get-Features /PackagePath:C:\packages\package1.cab

/Get-FeatureInfo

機能に関する詳細情報を表示します。 /FeatureName を使う必要があります。 /Get-Features オプションを使用すると、イメージ内の機能の名前を調べることができます。

構文

/Get-FeatureInfo /FeatureName:<name_in_image> [{/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}]

/PackageName/PackagePath はオプションで、パッケージ内の特定の機能を見つけるために使用できます。

例:

Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts
Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts /PackagePath:C:\packages\package.cab

/Enable-Feature

イメージ内の指定された機能を有効化または更新します。 /FeatureName オプションを使用する必要があります。 /Get-Features オプションを使用すると、イメージ内の機能の名前を調べることができます。

構文

/Enable-Feature /FeatureName:<name_in_image> [/PackageName:<name_in_image>] [/Source: <source>] [/LimitAccess] [/All]

同じ親パッケージを共有する機能に対しては、1 つのコマンドラインで /FeatureName オプションを複数回指定できます。

パッケージが Windows Foundation パッケージの場合は、/PackageName オプションを使用してパッケージ名を指定する必要はありません。 それ以外の場合は、/PackageName を使用して機能の親パッケージを指定します。

以前にイメージから削除された機能を復元して有効にすることができます。 /Source 引数を使用して、機能の復元に必要なファイルの場所を指定してください。 ファイルのソースとして、マウントされたイメージ内の Windows フォルダー (たとえば、c:\test\mount\Windows) を使用できます。 また、z:\sources\SxS などの Windows サイドバイサイド フォルダーをファイルのソースとして使用することもできます。

複数の /Source 引数を指定すると、ファイルは最初に見つかった場所から収集され、残りの場所は無視されます。 削除された機能の /Source を指定しなかった場合は、レジストリ内の既定の場所が使用されます。オンライン イメージの場合は、Windows Update (WU) が使用されます。

  • /LimitAccess を使用すると、DISM はオンライン イメージのために WU に接続しません。
  • /All を使用すると、指定した機能のすべての親機能が有効になります。

例:

Dism /Online /Enable-Feature /FeatureName:Hearts /All
Dism /Online /Enable-Feature /FeatureName:Calc /Source:c:\test\mount\Windows /LimitAccess
Dism /Image:C:\test\offline /Enable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Disable-Feature

イメージ内の指定された機能を無効にします。 /FeatureName オプションを使用する必要があります。 /Get-Features オプションを使用すると、イメージ内の機能の名前を調べることができます。

構文:

/Disable-Feature /FeatureName:<name_in_image> [/PackageName:<name_in_image>] [/Remove]

同じ親パッケージ内の機能に対しては、1 つのコマンドラインで /FeatureName を複数回指定できます。

パッケージが Windows Foundation パッケージの場合は、/PackageName オプションを使用してパッケージ名を指定する必要はありません。 それ以外の場合は、/PackageName を使用して機能の親パッケージを指定します。

/Remove を使用すると、機能のマニフェストをイメージから削除せずに、イメージ内の特定の機能を削除できます。 機能は、/Get-FeatureInfo を使用して機能の詳細を表示したときに "削除済み" として表示されます。これらは、/Enable-Feature と /Source オプションを使用して復元および有効化できます。

例:

*Dism /Online /Disable-Feature /FeatureName:Hearts
Dism /Image:C:\test\offline /Disable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Cleanup-Image

イメージに対してクリーンアップ操作または回復操作を実行します。 /AnalyzeComponentStore および /ResetBase は、Windows 10、Windows 8.1、および Windows PE 5.0 以降のイメージで使用できます。 Windows 10 バージョン 1607 以降では、/Defer/ResetBase と共に指定できますが、DISM /Resetbase の処理が完了するまでに 30 分以上かかるファクトリでは、オプションとして /Deferのみを使用する必要があります。

ヒント

/ResetBase オプションが最後にいつ実行されたかを調べるには、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing レジストリ パスの下にある LastResetBase_UTC レジストリ エントリを確認します。

構文

/Cleanup-Image {/RevertPendingActions | /SPSuperseded [/HideSP] | /StartComponentCleanup [/ResetBase [/Defer]] | /AnalyzeComponentStore | /CheckHealth | /ScanHealth | /RestoreHealth [/Source: <filepath>] [/LimitAccess]}
パラメーター 説明
/RevertPendingActions 起動エラーが発生した場合は、/RevertPendingActions オプションを使用して、システムの回復を試みることができます。 この操作により、以前のサービス操作からの保留中のアクションがすべて元に戻されます。それは、これらの操作が起動エラーの原因である可能性があるためです。 /RevertPendingActions オプションは、実行中のオペレーティング システムまたは Windows PE または Windows 回復環境 (Windows RE) イメージではサポートされていません。 重要: /RevertPendingActions オプションは、起動しなかった Windows イメージのシステム回復シナリオでのみ使用する必要があります。
SPSuperseded サービス パックのインストール中に作成されたバックアップ ファイルをすべて削除します。 /HideSP を使用すると、サービス パックが [インストールされた更新プログラム] コントロール パネルに表示されなくなります。 /SPSuperseded 操作の完了後、サービス パックはアンインストールできなくなります。
/StartComponentCleanup 置き換えられたコンポーネントをクリーンアップして、コンポーネント ストアのサイズを小さくします。 /ResetBase を使用して、置き換えられたコンポーネントのベースをリセットします。これにより、コンポーネント ストアのサイズをさらに小さくすることができます。 /ResetBase オプションを指定して /StartComponentCleanup を実行した後は、インストールされた Windows 更新プログラムをアンインストールできなくなります。 /Defer を /ResetBase と共に使用すると、長時間実行されるクリーンアップ操作を次回の自動メンテナンスまで延期できます。
/AnalyzeComponentStore コンポーネント ストアのレポートを作成します。 レポートの詳細とレポートで提供される情報の使用方法については、「WinSxS フォルダーの実際のサイズの特定」を参照してください。
/CheckHealth 失敗したプロセスによってイメージに破損のフラグが設定されているかどうか、および破損を修復できるかどうかを確認します。
/ScanHealth イメージをスキャンして、コンポーネント ストアの破損の有無を確認します。 この操作には数分かかります。
/RestoreHealth イメージをスキャンしてコンポーネント ストアの破損の有無を確認し、修復操作を自動的に実行します。 この操作には数分かかります。
/Source /RestoreHealth と共に使用して、マウントされたイメージの Windows ディレクトリへのパスなど、修復に使用できる既知の正常なバージョンのファイルの場所を指定します。
/LimitAccess DISM がオンライン イメージの修復のために Windows Update に接続しないようにします。

例:

Dism /Image:C:\test\offline /Cleanup-Image /RevertPendingActions
Dism /Image:C:\test\offline /Cleanup-Image /SPSuperseded /HideSP
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess

詳細については、「Windows イメージの修復」を参照してください。

制限事項

  • オフライン イメージにパッケージをインストールする場合、オンライン アクションが保留中のため、パッケージの状態は インストール保留中 になります。 つまり、イメージが起動され、オンライン アクションが処理されるときに、パッケージがインストールされます。 後続のアクションが要求された場合、前の保留中のオンライン アクションが完了するまでそれらを処理できません。 /AddPackage を使用してパッケージを追加するときに /PreventPending オプションを使用すると、保留中のオンライン アクションがあるときにパッケージのインストールをスキップできます。
  • 一部のパッケージでは、最初に他のパッケージをインストールする必要があります。 依存関係が満たされると想定してはいけません。 パッケージに依存関係の要件がある場合は、応答ファイルを使用して必要なパッケージをインストールします。 応答ファイルを DISM に渡すことにより、複数のパッケージを正しい順序でインストールできます。 詳細については、「DISM を使用してパッケージをオフラインで追加または削除する」を参照してください。
  • パッケージは、コマンド ラインに示されている順序でインストールされます。
  • DISM を使用して Windows PE イメージ内のオプション コンポーネントを一覧表示するとき、サービス操作が成功した場合でも、オプション コンポーネントは常に保留中として表示されます。 これは仕様であり、追加のアクションは必要はありません。

DISM とは

DISM イメージ管理のコマンド ライン オプション

展開イメージのサービスと管理 (DISM) のコマンドライン オプション