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
チェックポイント累積更新プログラム
Windows 11 バージョン 24H2 以降、最新の累積更新プログラムには、先にインストールする必要がある前提条件としての累積的な更新プログラムが含まれている場合があります。 これらのチェックポイント累積更新プログラムをインストールするには、対象の累積更新プログラムを指定して /Add-Package を呼び出します。 -PackagePath のフォルダーは、必要に応じて 1 つ以上のチェックポイントを検出およびインストールするために使用されます。 -PackagePath フォルダーには、対象の累積的な更新プログラムと前提条件となるチェックポイントの累積的な更新プログラムのみを含める必要があります。 対象の累積更新プログラム以下のリビジョンの累積更新プログラム パッケージが処理されます。
/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 イメージ内のオプション コンポーネントを一覧表示するとき、サービス操作が成功した場合でも、オプション コンポーネントは常に保留中として表示されます。 これは仕様であり、追加のアクションは必要はありません。