長らくアップデートしていなかったパソコン(Windows7)で
久しぶりにゲームをしようとしたところ、
「コンピューターにapi-ms-win-crt-heap-I1-1-0.dllがないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。」
とメッセージが出てきました。
これは「Visual Studio 2015 の Visual C++ 再頒布可能パッケージ」をインストールすることで解決できます。
すでにインストールされている場合は、
「スタートメニュー」→「コントロールパネル」→「プログラム」の
プログラムのアンインストールをクリックして、
「Microsoft Visual C++ 2015 Redistributable(x86)」
「Microsoft Visual C++ 2015 Redistributable(x64)」
のどちらも一度アンインストールします。
x86は32ビット、x64は64ビット用という意味です。
複数のバージョンがインストールされている場合は、
一番新しいバージョンをアンインストールするだけでよいでしょう。
■プログラムのアンインストール
(右クリックでアンインストールを選択)
アンインストールが完了したら、
コチラから「Visual Studio 2015 の Visual C++ 再頒布可能パッケージ」を
ダウンロードします。
OSが32ビットならx86、64ビットならx64をダウンロードしてください。
ダウンロードしたらファイルを開いて
インストールしましょう。
これでapi-ms-win-crt-heap-I1-1-0.dllの問題が解決すると思いきや、
次は、
「コンピューターにmfc140u.dllがないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。」
というメッセージが出てくる場合があります。
この場合は、x86用のパッケージをインストールした場合はx64もインストール。
x64用のパッケージをインストールした場合はx86もインストールしてみてください。
これでmfc140u.dllがない問題が解決できると思います。
さらに「Visual Studio 2015 の Visual C++ 再頒布可能パッケージ」の
アンインストールすらできない場合があります。
アンインストールを選択しても、
確認中でとまってしまい、
どれだけ待っても先に進みません。
これは長らくWindowsのアップデートをしておらず、
自動更新用のプログラムで、更新プログラムがダウンロードできていないからです。
こうなってしまったら、更新プログラムを手動インストールするしかありません。
まずは、Microsoft Update カタログというサイトで、
次の更新プログラムをダウンロードしてください。
1、KB3177467
サービス スタック更新プログラム(2016/09/20)
2、KB3125574
Convenience rollup update(2016/05/16)
3、KB3172605
最新のWindows Update Clientを含む更新プログラム(2016/09/15)
4、KB3212646
セキュリティ マンスリー品質ロールアップ(2017/01/11)
そして、次のバッチコードをテキストエディタに打ち込み,
赤文字のところをダウンロードしたファイル名に合わせて変えます。
※上の赤文字はダウンロードしたファイル名
※下の赤文字は解凍後のxmlのファイル名
インストールは上のリストの順番にしてください。
まずは1のKB3177467、次は2のKB3125574、、、のように。
プログラムはinstall.batなどのファイル名で保存して、
ダウンロードした更新ファイルと同じフォルダに入れてください。
■更新プログラムの手動インストールプログラム
@echo off
echo.
echo 更新ファイルをインストールします。
echo.
pause
rem 作業フォルダを作成
md c:\InstallKB
rem 更新ファイルを作業フォルダに展開
wusa.exe %~dp0windows6.1-kb4022719-x64_127dc7228b2d9278db81121a92471feda59461bb.msu /extract:c:\InstallKB
echo.
echo 解凍完了。
echo.
echo.
echo インストール中です。
echo.
rem 展開したファイルからインストール
pkgmgr.exe /n:c:\InstallKB\windows6.1-kb4022719-x64.xml /quiet
rem 作業フォルダを削除
rd /s /q c:\InstallKB
echo.
echo インストールが終わりました。
echo.
pause
exit
このようにバッチファイルを作る理由は、
ダウンロードした更新ファイルを直接クリックしても
インストールが途中で止まってしまう場合があるからです。
バッチファイルを作成することで、
サイレントインストールといって、
強制的にインストールができるようになります。
バッチファイルができたら、
install.batをクリックしてインストールを開始します。
クリックをすると下の画像のようなプロンプト画面になり、
エンターキーなど適当なボタンを押せばインストールが始まります。
再掲しますが、インストールの順番は下記の順番です。
1、KB3177467
サービス スタック更新プログラム(2016/09/20)
2、KB3125574
Convenience rollup update(2016/05/16)
3、KB3172605
最新のWindows Update Clientを含む更新プログラム(2016/09/15)
4、KB3212646
セキュリティ マンスリー品質ロールアップ(2017/01/11)
特に2の更新ファイルは400MBくらいあり、
インストールに20分くらい時間がかかります。
全部で1時間くらいかかりますので、気長に待ちましょう。
これらのインストールが完了すれば、
「Visual Studio 2015 の Visual C++ 再頒布可能パッケージ」
の再インストールはできるはずです。
私はここまでくるのに2日間くらいかかりました。
同じ症状にハマってしまった人は、トライしてみてください。