KB3125574 更新プログラムのインストール前にやっておく準備として、以下の表に示す更新プログラムを適用させておく必要があります
KB 番号 | 内容 |
KB2534366 | Windows 7 SP1 または Windows Server 2008 R2 SP1 をインストールするときに "0xC000009A" エラー メッセージが表示される |
KB2533552 | Windows 7 SP1、Windows Server 2008 R2 SP1、または Windows Embedded Standard 7 SP1 をインストールしたときに "0xC0000034" エラー メッセージが表示されるのを防ぐ更新プログラムを利用できます |
KB3020369 | Windows 7 および Windows Server 2008 R2 のサービス スタック更新プログラム (2015 年 4 月) |
KB3138612 | Windows 7 と Windows Server 2008 R2 の Windows Update クライアント: 2016年 3 月 |
KB4343899 | 2018 年 8 月 15 日 — KB4343899 (セキュリティのみの更新プログラム) 必要な以下の2つを含みます KB3145739 [MS16-039] Windows Graphics コンポーネントのセキュリティ更新プログラムについて (2016 年 4 月 12 日) KB3153199 [MS16-062] Windows カーネルモード ドライバー用のセキュリティ更新プログラムについて (2016 年 5 月 10 日) |
手動で更新プログラムを一つ一つインストールするのは面倒なので、Win Toolkit で統合する前に install.wim に対して DISM コマンドで適用させます…が、しかし!! 何故か KB2533552 の適用が失敗します
本記事は Windows 7 のインストールイメージ(install.wim) を現時点で置き換えられる事無く、1 定番と言える更新プログラムを WinToolkit での統合インストールイメージ作成前に予め、適用させるコマンドスクリプトの紹介です。要は WinToolkit を動かす前の前準備です。なお、本記事の内容は一部 Windows 7 のインストールイメージに NVMe(M.2 PCI SSD) ネイティブサポートドライバーを適用する この記事と重複する部分があります。なので、DISM を使う為に Windows ADK 8.1 のインストール この記事を参照して、DISM が動く事が前提条件となります
適用させる更新プログラムは以下の表に示します
KB 番号 | 内容 |
KB2990941 | NVM は、Windows 7 および Windows Server 2008 R2 で高速でネイティブのドライバーのサポートを追加するのにを更新します |
KB3087873 | Windows 7 SP1 または Windows Server 2008 R2 の SP1 の修正プログラム 2990941 をインストールした後に発生する Stop エラーを修正します |
KB2534366 | インストールされている言語パックの数が 10 個を超えるコンピューターに Windows 7 Service Pack 1 (SP1) または Windows 2008 R2 Service Pack 1 (SP1) をインストールすると、コンピューターの画面が黒くなり応答しなくなります。さらに、"0xC000009A" エラー メッセージが表示されます |
KB2670838 | グラフィックス コンポーネントやイメージング コンポーネントのパフォーマンスを最適化する、Windows 7 SP1 および Windows Server 2008 R2 SP1 用のプラットフォーム更新プログラムについて説明します。この更新プログラムは、特にソフトウェア開発者向けに提供されているものです |
KB2732059 | Describes an issue in which a program that can open an .oxps file is not installed on a computer that is running Windows 7 or Windows Server 2008. After you install the update that is described in this article, you can convert the .oxps file to an .xps file and then open the .xps file by using XPS Viewer. |
KB2773072 | Windows 8 でゲームの評価システムへの変更を反映するように Windows 7 のゲーム規制システムを有効にする更新プログラムについて説明します |
KB2834140 | Windows 7 SP1 または Windows Server 2008 R2 SP1 を搭載しているコンピューターで STOP エラーが発生する問題について説明します。この問題は、コンピューターに更新プログラム 2670838 をインストールした後に発生します |
KB2919469 | カナダの国コードが設定されているない「1」に正しく問題を修正します。この問題は、「地域と言語」の設定で [英語 (カナダ)\"形式を使用して Windows 7 SP1 ベースまたは Windows Server 2008 R2 ベースのコンピューターで発生します |
KB2970228 | Windows 8.1、Windows RT 8.1、Windows Server 2012 R2、Windows 8、Windows RT、Windows Server 2012 の、Windows 7 および Windows Server 2008 R2 の新しいロシア ルーブル記号を有効にする更新プログラムを提供します |
KB3006137 | リトアニアの通貨記号を更新します。これには、リトアニアのユーロ導入が反映されます |
KB3020369 | RODC 上で WMF 4.0 を更新できない問題を修正します。この問題は、Windows Server 2008 R2 を搭載しているコンピューターで発生します |
KB3102429 | アゼルバイジャン マナトとグルジア ラリの通貨記号をサポートする Windows 8.1、Windows Server 2012 R2、Windows Server 2012、Windwos 埋め込まれた 8、Windows 7 または Windows Server 2008 R2 の更新プログラムを提供します |
KB3125574 | Windows 7 SP1 および Windows Server 2008 R2 の SP1 で利用可能な利便性のためのプログラムのロールアップ パッケージについて説明します |
KB3138612 | Windows 更新のクライアントでは、Windows 7 および Windows Server 2008 R2 は、2016年 2 月日にリリースされた更新プログラムについて説明します |
KB4343899 | 2018 年 8 月 15 日 — KB4343899 (セキュリティのみの更新プログラム) |
KB4467107 | 2018-11 x64 ベース システム用 Windows 7 向けセキュリティ マンスリー品質ロールアップ (KB4467107) |
KB2533552 は DISM での統合に失敗しますので、上記の更新プログラムにて install.wim を作成し、Win Toolkit でインストールイメージを作成すれば必要は無いと思われます
以前公開したコマンドスクリプト Install.wim.Update.cmd は新しく作り直しました。以下のファイルをダウンロードします
: /***********************************************************************
:
: Script Name: MictosoftUpdateSearch.php
:
: Description:
: Integration of install.wim based on Knowledge base (KB) information list file
:
: Creator's Name:
: Alphaziel
: alphaziel@alphaziel.info
: https://blog.alphaziel.info/
:
: Notes:
:
: Status Information:
: Run: Windows 7 x64 SP1 Command Prompt
:
: Change Activity:
: -01 _0._0._1 2018/08/27(Mon) Made to process based on the list file
: -00 _0._0._0 2018/06/22(Fri) Create.
:
: ***********************************************************************/
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
SET WIM=install_2018-08-27.wim
SET WIM_LIST=Install.Integrator.List.txt
SET UPD=D:¥WI¥W7x64¥msu
;
SET IDX=4
SET MNT=C:¥M
SET MNT_RE=H:¥M
SET DISM=DISM /LogPath:"%WIM%.log.txt" /LogLevel:3
SET START_TIME=%DATE% %TIME%
IF NOT EXIST "%WIM%" CALL :NOT_FOUND "%WIM%"
IF NOT EXIST "%WIM_LIST%" CALL :NOT_FOUND "%WIM_LIST%"
IF NOT EXIST "%UPD%" CALL :NOT_FOUND "%UPD%"
IF NOT EXIST "%MNT%" CALL :NOT_FOUND "%MNT%"
IF NOT EXIST "%MNT_RE%" CALL :NOT_FOUND "%MNT_RE%"
SET ERROR=0
FOR /F "eol=; tokens=1,2,3* delims=|||" %%A in (%WIM_LIST%) DO (
IF NOT EXIST "%UPD%¥%%B" (
ECHO ファイルがありません - "%UPD%¥%%B" && SET ERROR=1
) ELSE (
ECHO ファイルがありました - "%UPD%¥%%B"
)
)
IF "%ERROR%" == "1" CALL :NOT_FOUND_UPD
%DISM% /Get-WimInfo /WimFile:"%WIM%"
IF ERRORLEVEL 1 GOTO ERROR
ECHO .
ECHO 統合対象となる Windows 7 のエディションのインデックス番号を確認してください
ECHO インデックス番号は %IDX% です。間違っている場合は、ここで CTRL + C でコマンドスクリプトを終了して、
ECHO コマンドスクリプト内の IDX 変数の値を変更してください
ECHO .
PAUSE
ECHO .
ECHO %WIM% を %MNT% ディレクトリにマウントします
ECHO .
ECHO %DISM% /Mount-Image /ImageFile:"%WIM%" /Index:%IDX% /MountDir:"%MNT%"
%DISM% /Mount-Image /ImageFile:"%WIM%" /Index:%IDX% /MountDir:"%MNT%"
IF ERRORLEVEL 1 GOTO DISM_ERROR
ECHO .
FOR /F "eol=; tokens=1,2,3* delims=|||" %%A in (%WIM_LIST%) DO (
SET KB=%%A
IF NOT "!KB:~,1!" == "$" (
ECHO .
ECHO %%C
ECHO .
ECHO %DISM% /Image:"%MNT%" /Add-Package /PackagePath:"%UPD%¥%%B"
%DISM% /Image:"%MNT%" /Add-Package /PackagePath:"%UPD%¥%%B"
IF ERRORLEVEL 1 GOTO DISM_ERROR %MNT%
ECHO .
)
)
ECHO .
ECHO %MNT%¥windows¥system32¥recovery¥winRE.wim を %MNT_RE% ディレクトリにマウントします
ECHO .
ECHO %DISM% /Mount-Image /ImageFile:"%MNT%¥windows¥system32¥recovery¥winRE.wim" /Index:1 /MountDir:"%MNT_RE%"
%DISM% /Mount-Image /ImageFile:"%MNT%¥windows¥system32¥recovery¥winRE.wim" /Index:1 /MountDir:"%MNT_RE%"
IF ERRORLEVEL 1 GOTO ERROR
FOR /F "eol=; tokens=1,2,3* delims=|||" %%A in (%WIM_LIST%) DO (
SET KB=%%A
IF "!KB:~,1!" == "$" (
ECHO .
ECHO %%C
ECHO .
ECHO %DISM% /Image:"%MNT%" /Add-Package /PackagePath:"%UPD%¥%%B"
%DISM% /Image:"%MNT%" /Add-Package /PackagePath:"%UPD%¥%%B"
IF ERRORLEVEL 1 GOTO DISM_ERROR %MNT_RE%
ECHO .
)
)
ECHO .
ECHO パッケージのリストを %WIM%.list.txt に保存
ECHO .
%DISM% /Get-Packages /Image:"%MNT%" > "%WIM%.list.txt"
ECHO .
ECHO %DISM% /Unmount-Wim /MountDir:"%MNT_RE%" /Commit
%DISM% /Unmount-Wim /MountDir:"%MNT_RE%" /Commit
IF ERRORLEVEL 1 GOTO ERROR
ECHO .
ECHO %DISM% /Unmount-Wim /MountDir:"%MNT%" /Commit
%DISM% /Unmount-Wim /MountDir:"%MNT%" /Commit
IF ERRORLEVEL 1 GOTO ERROR
ECHO .
GOTO EOF
:ERORR
ECHO .
ECHO 何らかのエラーが発生しました
ECHO .
GOTO EOF
:NOT_FOUND
ECHO .
ECHO %1 ファイル/ディレクトリがありません
ECHO .
ECHO 終了します
ECHO .
GOTO EOF
:NOT_FOUND_UPD
ECHO .
ECHO 見つからなかったファイルがあったので終了します
ECHO .
GOTO EOF
:DISM_ERROR
ECHO .
ECHO DISM コマンドなんらかのエラーが発生しました
ECHO ログは %WIM%.log.txt に保存されています
ECHO 変更を破棄してマウントを解除します
ECHO .
ECHO %DISM% /Unmount-Wim /MountDir:"%1" /Discard
%DISM% /Unmount-Wim /MountDir:"%1" /Discard
ECHO .
GOTO EOF
:EOF
SET END_TIME=%DATE% %TIME%
ECHO 開始日時 - %START_TIME%
ECHO 終了日時 - %END_TIME%
上記 Install.Integrator.cmd 内の 太字この色 で示した変数の内容を環境に合わせて修正、保存します。特に MNT, MNT_RE 変数で設定するディレクトリは空でなければならず、十分な空き容量(最低でも 30GiB 以上) が必要です
KB2990941|||NVMe¥KB2990941-v3-x64.msu|||NVM は、Windows 7 および Windows Server 2008 R2 で高速でネイティブのドライバーのサポートを追加するのにを更新します
KB3087873|||NVMe¥KB3087873-v2-x64.msu|||Windows 7 SP1 または Windows Server 2008 R2 の SP1 の修正プログラム 2990941 をインストールした後に、"0x0000007E"停止エラー
;↓失敗するので、Windows Update の更新プログラムの確認後でインストールします
;KB2533552|||KB2533552-x64.msu|||Windows 7 SP1、Windows Server 2008 R2 SP1、または Windows Embedded Standard 7 SP1 をインストールしたときに "0xC0000034" エラー メッセージが表示されるのを防ぐ更新プログラムを利用できます
KB2534366|||KB2534366-x64.msu|||Windows 7 SP1 または Windows Server 2008 R2 SP1 をインストールするときに "0xC000009A" エラー メッセージが表示される
KB2670838|||KB2670838-x64.msu|||Windows 7 SP1 および Windows Server 2008 R2 SP1 用のプラットフォーム更新プログラム
KB2732059|||KB2732059-v5-x64.msu|||You cannot open an .oxps file in Windows 7 or in Windows Server 2008 R2
KB2773072|||KB2773072-x64.msu|||更新プログラムによって Windows 7 のゲーム レーティング システムが変更されます
KB2834140|||KB2834140-v2-x64.msu|||"0x00000050" STOP エラーが Windows 7 SP1 または Windows Server 2008 R2 SP1 を搭載しているコンピューターで更新プログラム 2670838 をインストールした後に発生する
KB2919469|||KB2919469-x64.msu|||カナダの国コードが正しくない Windows 7 SP1 または Windows Server 2008 R2 の SP1
KB2970228|||KB2970228-x64.msu|||Windows でロシア ルーブルの新しい通貨記号をサポートするための更新プログラム
KB3006137|||KB3006137-x64.msu|||Windows でリトアニアの通貨記号をリトアニア リタス (Lt) からユーロ (?) へ変更する更新プログラム
KB3020369|||KB3020369-x64.msu|||Windows 7 および Windows Server 2008 R2 のサービス スタック更新プログラム (2015 年 4 月)
KB3102429|||KB3102429-v2-x64.msu|||Windows でアゼルバイジャン マナトとグルジア ラリの通貨記号をサポートする更新プログラム
KB3125574|||KB3125574-v4-x64.msu|||Windows 7 SP1 および Windows Server 2008 R2 SP1 の便利なロールアップ更新プログラム
KB3138612|||KB3138612-x64.msu|||Windows 7 と Windows Server 2008 R2 の Windows Update クライアント: 2016年 3 月
KB4343899|||KB4343899-x64.msu|||2018 年 8 月 15 日 - KB4343899 (セキュリティのみの更新プログラム)
KB4467107|||Rollup¥KB4467107-x64.msu|||2018-11 x64 ベース システム用 Windows 7 向けセキュリティ マンスリー品質ロールアップ (KB4467107)
; Windows 回復環境 (Windows Recovery Environment, Windows RE, WinRE)
; 回復環境の統合には別の .wim ファイルを使うので、ナレッジベース番号(KB) の前、つまり行頭に $ を追加します
$KB2990941|||NVMe¥KB2990941-v3-x64.msu|||NVM は、Windows 7 および Windows Server 2008 R2 で高速でネイティブのドライバーのサポートを追加するのにを更新します
$KB3087873|||NVMe¥KB3087873-v2-x64.msu|||Windows 7 SP1 または Windows Server 2008 R2 の SP1 の修正プログラム 2990941 をインストールした後に、"0x0000007E"停止エラー
コメントは行頭にセミコロン(;) を記述します。デリミタ文字列 ||| で区切られた最初のフィールドはナレッジベース番号(KB番号) を記述します。2番目のフィールには統合対象となる更新プログラムファイル名を記述します。Install.Integrator.cmd 内の変数 UPD の内容をベースディレクトリにしていることに注意してください。3番目のフィールドには概要を記述します。このコマンドスクリプトは Windows 回復環境の統合も行っている為、1番目フィールドの KB番号の頭に $ 文字を付与する事で、統合先のイメージファイルの切り分けを行っています
編集の修正が終わり、保存(SJIS CR+LF)して Install.Integrator.cmd を実行します。無事終了したら、変数 WIM で指定したインストールイメージファイル(.wim) を sources ディレクトリにコピー/リネームして終了です
本ブログで度々出てくる Win Toolkit を使用するにあたって DISM が必須ですが、この DISM をインストールする為には、以下の2つにのコンポーネントのインストールが必要です。また、本記事は Windows 7 SP1 を前提にしています
Windows Management Framework 5.1 のインストールは上記の1番の ZIP アーカイブファイルを解凍すると、Win7AndW2K8R2-KB3191566-x64.msu と PowerShell 用のスクリプトファイルの2つのファイルが展開されますので、前述の Win7AndW2K8R2-KB3191566-x64.msu をエクスプローラーからダブルクリックするか、以下のコマンドをコマンドラインから入力して、インストールを行いますが、以下の条件を満たしていれば、同梱されている PowerShell スクリプト (Install-WMF5.1.ps1) を実行する必要はありません
Start /WAIT /HIGH WUSA Win7AndW2K8R2-KB3191566-x64.msu /quiet /norestart
インストールが終了したら、PC を再起動し、以下の様にコマンドプロンプトから PowerShell を起動し、バージョンを確認します
C:¥>powershell
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS C:¥> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.14409.1005
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14409.1005
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
PS C:¥> exit
C:¥>
Windows Management Framework 5.1 のインストールが終了したので、これでようやく Windows ADK for Windows 8.1 がインストールできます。と言うのも、これのインストール前提条件が PowerShell 3.0 がインストールされていなければならないからです
上記の2番からオフラインインストーラー adksetup.exe をダウンロードし、実行します。先ずは下記画像の様に全パッケージをダウンロードします
ダウンロードが終了したら、上記画像の例で言うと E:¥download¥Windows Kits¥8.1¥ADK ディレクトリ内の adksetup.exe を実行しインストールを再開します。下記画像のように Deployment Tools を選択し、インストールを実行します
インストールが終了したら、以下のコマンドをコマンドプロンプトから入力し、インストールした DISM が優先的に動作する様に環境変数 PATH を設定します。斜体部分は Windows ADK 8.1 をインストールしたディレクトリに置き換えます
SETX /M PATH "C:¥Program Files (x86)¥Windows Kits¥8.1¥Assessment and Deployment Kit¥
Deployment Tools¥amd64¥DISM;%PATH%"