Visual Studio 2022 で C++ ワークロードを入れようとしたら「Microsoft.VisualCpp.Redist.14 をインストールできません」「Error opening installation log file」とだけ出て止まってしまう……という相談は少なくありません。この記事では、単なる再インストールや再起動だけでは直らないこの症状について、もっとも再現性の高かった「一時フォルダーを作り直す」方法を中心に、原因の考え方や再発防止策まで丁寧に整理します。
Visual Studio 2022 で発生する「Microsoft.VisualCpp.Redist.14 をインストールできません」エラーとは
Visual Studio 2022 のインストーラーで「C++ によるデスクトップ開発」などの C++ ワークロードを追加しようとすると、次のようなメッセージが出て失敗することがあります。
- Couldn’t install Microsoft.VisualCpp.Redist.14
- Error opening installation log file.(インストール用ログファイルを開けない)
ログを確認すると、例として次のようなパスが表示されます。
C:\Users\<ユーザー名>\AppData\Local\Temp\dd_setup_..._Microsoft.VisualCpp.Redist.14.log
この状態になると、
- C++ ワークロードのインストールが完了しない
- C++ のプロジェクトテンプレートが表示されない/作成時にエラーになる
- VC++ 再頒布可能パッケージ(vc_redist)が中途半端な状態になる
といった不具合が連鎖的に発生し、C++ 開発自体が始められないという状況に陥ります。
エラーの本質:一時フォルダー(TEMP/TMP)にログを書けない
エラーメッセージの通り、この問題の本質は非常にシンプルで、 「インストールログのファイルを一時フォルダーに作れない(または開けない)」 ことです。 Visual Studio のインストーラーや VC++ 再頒布パッケージは、インストール中に詳細なログを TEMP/TMP で指定されたフォルダーに出力します。
しかし、次のような要因でログファイルの作成/オープンに失敗すると、インストール自体が巻き込まれて失敗してしまいます。
| 要因の種別 | 例 | どう影響するか |
|---|---|---|
| フォルダーの権限 | Users に書き込み権限がない、所有者が他ユーザーになっている | ログファイルを作成できずエラーになる |
| パスの問題 | ユーザープロファイル配下の Temp が壊れている、UNC パスや特殊なシンボリックリンクになっている | OS が正しくパスを解決できず、ファイルアクセスに失敗 |
| ユーザー名・パス名 | ユーザー名に空白・日本語・記号が含まれることで、一部ツールがパス解釈に失敗 | サードパーティ製や古いコンポーネントがログ出力に失敗 |
| セキュリティソフト | ランサムウェア対策(Controlled folder access)やウイルス対策が Temp への書き込みをブロック | ログファイル作成が「不正アクセス」とみなされブロック |
| Temp フォルダーの破損 | 以前のインストール失敗で中途半端なファイル/ロックが残っている | 同名のログファイル作成や更新に失敗 |
そのため、TEMP/TMP をクリーンで確実に書き込める場所(例:C:\Temp)に切り替えてからインストーラーを起動することで、かなりの確率で問題を回避できます。
最短の解決策:C:\Temp を作成し、同じウィンドウからインストーラーを起動する
もっともシンプルで再現性の高い解決策は次の手順です。
C:\Temp を作成し、権限を確認する
C:\Tempフォルダーが存在しない場合はエクスプローラーで作成します。C:\Tempを右クリックして「プロパティ」を開きます。- 「セキュリティ」タブを開き、Users(または対象ユーザー)に「フルコントロール」権限があることを確認します。
- 権限が足りない場合は「編集」からフルコントロールを付与します。
ここで権限をあいまいにしたまま先へ進むと、結局同じようなエラーに悩まされることがあるため、必ず書き込み権限を確認してください。
管理者権限のコマンドプロンプトで TEMP/TMP を一時的に切り替える
- スタートメニューから「cmd」を検索し、「管理者として実行」でコマンドプロンプトを起動します。
- 次のコマンドを順番に実行します。
set TMP=C:\Temp
set TEMP=C:\Temp
これで「今開いているコマンドプロンプトのプロセスと、その子プロセスだけ」が一時フォルダーとして C:\Temp を使うようになります。Windows 全体の設定を書き換えてしまうわけではないので安心してください。
同じコマンドプロンプトから Visual Studio Installer を起動する
ここが重要なポイントです。必ず、TEMP/TMP を設定した「同じ」コマンドプロンプトから Visual Studio Installer を起動します。 これにより、インストーラーとその内部で起動する VC++ 再頒布パッケージも、環境変数が引き継がれて C:\Temp を使うようになります。
例えば、Visual Studio Installer(vs_installer.exe)の場所が次のようなパスにあるとします。
C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe
この場合、先ほどのコマンドプロンプトで次のように実行します。
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe"
あとは通常通り、「修復」または「変更」から C++ ワークロードを追加してください。
インストール完了後の確認ポイント
インストールが完了したら、次の点を確認しておきましょう。
- Visual Studio 2022 を起動し、「新しいプロジェクトの作成」で C++ テンプレート(コンソールアプリなど)が一覧に表示されるか
- Windows の「アプリと機能」から「Microsoft Visual C++ 2015-2022 再頒布可能パッケージ」などが追加されているか
C:\Tempにdd_setup_...などのログファイルが生成されているか
ログファイルが C:\Temp に作られていれば、少なくとも「Error opening installation log file」自体は解消できていると判断できます。
| ステップ | 具体的な操作 | 確認ポイント |
|---|---|---|
| Temp フォルダー準備 | C:\Temp 作成+Users にフルコントロール付与 | 手動でファイルの作成・削除ができる |
| 環境変数の切替 | 管理者 CMD で「set TMP」「set TEMP」実行 | 「set」コマンドで値が C:\Temp になっている |
| インストーラー起動 | 同じ CMD から vs_installer.exe を起動 | Visual Studio Installer 画面が立ち上がる |
| 結果確認 | C++ ワークロード追加後にテンプレートを確認 | エラーなく C++ プロジェクトが作成できる |
それでもうまくいかない場合の追加対処
上記の手順でもまだエラーが出る場合は、環境側にもう一段根深い理由が潜んでいる可能性があります。次の対処を上から順番に試してみてください。
Windows を再起動し、既存の Temp フォルダーをリネームする
- Windows を一度再起動します。
- エクスプローラーで次のフォルダーを開きます。
%LocalAppData%\Temp(例:C:\Users\<ユーザー名>\AppData\Local\Temp) - このフォルダーを
Temp.bakなどにリネームします。 - Visual Studio Installer を「修復」で実行するか、再度 C++ ワークロードを追加します。
これにより、壊れた Temp フォルダーやロックされたファイルが原因であれば切り分けることができます。Windows は必要に応じて新しい Temp フォルダーを作り直します。
Windows Update を最新の状態にする
VC++ 再頒布パッケージや Visual Studio のセットアップは、Windows のコンポーネント(証明書・ランタイム等)に依存しています。保留中の更新や、再起動待ちの更新が残っていると、インストールが失敗することがあります。
- 「設定」→「Windows Update」で更新をすべて適用する
- 必要に応じて再起動後、改めてインストールを試す
インストーラーや vc_redist を「管理者として実行」する
Visual Studio Installer や vc_redist.x64.exe を単純にダブルクリックで実行すると、環境によっては権限不足でログファイルの作成やレジストリ書き込みに失敗することがあります。
- インストーラーや vc_redist.exe を右クリックして「管理者として実行」を選択
- UAC の確認ダイアログが表示されたら「はい」を選択
セキュリティ製品・フォルダー保護の影響を除外する
Windows Defender の「ランサムウェア防止(Controlled folder access)」機能や、サードパーティ製ウイルス対策ソフトが Temp フォルダーへの書き込みをブロックしているケースもあります。
- 一時的にフォルダー保護機能を停止する
- どうしても停止できない場合は、
C:\Tempを許可リスト(除外フォルダー)に追加する
作業が終わったら、忘れずに保護機能を元に戻してください。
C:\Temp にファイル操作ができるかテストする
原因切り分けのために、C:\Temp に対して次のような操作ができるか確認しておきましょう。
- テキストファイルを作成して保存できるか
- 作成したファイルを編集して上書き保存できるか
- 作成したファイルを削除できるか
これらができない場合は、ファイルシステムの権限、ディスクエラー、セキュリティ製品など、Visual Studio とは無関係なレイヤーで問題が発生している可能性があります。
| 追加対処 | 目的 | 問題が疑われる箇所 |
|---|---|---|
| Temp フォルダーのリネーム | 破損・ロックの切り分け | ユーザープロファイル配下の Temp |
| Windows Update 適用 | システムコンポーネントの更新 | OS レベルの依存コンポーネント |
| 管理者として実行 | アクセス権不足の解消 | ログファイル/レジストリの書き込み |
| セキュリティ製品の一時無効化 | 誤検知によるブロック回避 | Windows Defender/サードパーティ AV |
ユーザープロファイル名(ユーザー名)の空白・特殊文字にも注意
実際の事例として、ユーザー名(例:C:\Users\山田 太郎)に空白や特殊文字が含まれていることが原因で、VC++ Redist や他のツールがインストールに失敗するケースがあります。
Visual Studio 本体は問題なく動く場合でも、内部で呼び出される古いコンポーネントやサードパーティ製のインストーラーが、空白やマルチバイト文字を含むパスを正しく扱えずにコケることがあります。
このような疑いがある場合、次のような回避策が有効です。
- 管理者権限を持つローカルユーザー「英数字のみ・空白無し」のアカウントを新規作成する(例:
devuser)。 - そのユーザーでサインインし直す。
- Visual Studio Installer を起動し、C++ ワークロードをインストールする。
これで問題が解消する場合は、元のユーザー名のパスに起因するトラブルだったと判断できます。
VC++ 再頒布可能パッケージと VSIX の違いを理解する
トラブルシューティングの過程で、ネット検索などから「VSIX のインストール」や「拡張機能の追加」といった情報に行き当たることがあります。しかし、今回のエラーの主役である Microsoft.VisualCpp.Redist.14 は、VSIX ではなく VC++ 再頒布可能パッケージ(vc_redist) です。
| 項目 | VC++ 再頒布可能パッケージ | VSIX(Visual Studio 拡張) |
|---|---|---|
| 拡張子 | .exe(例:vc_redist.x64.exe) | .vsix |
| 主な役割 | C/C++ ランタイム(ランタイムライブラリ)の配布 | エディタ機能・ツールバー・テンプレートの追加など |
| インストール対象 | Windows 全体(アプリ実行環境) | Visual Studio 本体の機能拡張 |
| 今回のエラーとの関係 | 直接の原因(ログが出力できず失敗) | 基本的には無関係 |
C++ ワークロードの失敗を切り分ける際は、最新の vc_redist を単体で実行して成功するかどうかを確認すると、原因の特定に役立ちます。
インストール前の「速見チェックリスト」
インストールに再チャレンジする前に、次のチェックリストをひと通り確認すると、無駄な試行錯誤を減らせます。
- [ ]
C:\Tempを作成し、Users にフルコントロールがある - [ ] 管理者権限の CMD で
set TMP/set TEMP実行後、同じ窓からインストーラーを起動している - [ ]
%LocalAppData%\Tempをリネームして再試行し、ロックや破損の可能性を切り分けた - [ ] Windows Update を適用し、再起動後に再実行している
- [ ] プロファイル名(ユーザー名のフォルダー)に空白・特殊文字なしの新規ユーザーでも試した
- [ ] セキュリティ製品・フォルダー保護の影響を除外した/
C:\Tempを許可リストに入れた
上記を満たした状態で再度インストールを行うことで、ほとんどの環境で「Couldn’t install Microsoft.VisualCpp.Redist.14」エラーを回避できるはずです。
なぜ TEMP/TMP の変更で解決できるのか(背景解説)
ここまでの内容を「再現手順」として覚えておくだけでも十分役に立ちますが、背景を理解しておくと、将来似たトラブルに遭遇したときにも応用が利きます。
環境変数 TEMP/TMP の仕組み
Windows では、各プロセスが一時ファイルを置くパスを 環境変数 TEMP/TMP から取得します。
- ユーザーのログオン時に、システムのデフォルト値とユーザー環境の設定から TEMP/TMP が決定される
- アプリケーションは起動時にその値を読み取り、以後そのパスを使って一時ファイルを作成する
- 親プロセスから子プロセスへ、環境変数は基本的にコピーされる
つまり、「親プロセス(ここでは管理者 CMD)」で TEMP/TMP を上書きしてからインストーラーを起動することで、その子プロセスであるインストーラーや vc_redist も同じ TEMP/TMP を利用するという仕組みです。
デフォルトの Temp フォルダーが「壊れる」パターン
デフォルトの %LocalAppData%\Temp は一見普通のフォルダーですが、以下のような状況が重なると「壊れた」状態になることがあります。
- 以前のインストール失敗により、読み取り専用属性が付いたファイルが残っている
- フォルダー/ファイルの所有者が現在のユーザーから変わってしまっている
- セキュリティソフトの途中導入により、アクセス制御が変わった
- パスの一部がシンボリックリンクになっており、一部のツールが解釈できない
このような場合、Visual Studio インストーラーが Temp にログを書こうとしても失敗し、そのまま「Error opening installation log file」で止まってしまいます。
そこで、いったん C:\Temp という単純なパスに避難させることで、「パス」「権限」「特殊な保護」の影響をほぼゼロにできる、というのが今回の解決策のポイントです。
再発防止のためにやっておきたいこと
一度問題が解消しても、環境次第では将来同様のトラブルが再発する可能性があります。次のようなポイントを押さえておくと安心です。
環境変数を元に戻す
今回の手順では、コマンドプロンプト内だけで TEMP/TMP を切り替えましたが、もしユーザー環境変数を直接書き換えた場合は、作業後に元の設定へ戻しておきましょう。
- 「システムのプロパティ」→「詳細設定」→「環境変数」を開く
- ユーザー環境変数の
TEMP/TMPを確認し、必要に応じて初期値(例:%USERPROFILE%\AppData\Local\Temp)に戻す
定期的に Temp フォルダーをクリーンアップする
Temp フォルダーが巨大化すると、それだけファイルロックやアクセス権のトラブルも起こりやすくなります。定期的にクリーンアップしておくと、インストールエラーの予防につながります。
- ディスク クリーンアップ ツールで一時ファイルを削除する
- 必要なファイルがないことを確認したうえで、古いファイルを手動削除する
新規ユーザー作成時はユーザー名に空白や記号を含めない
Windows 10/11 は日本語ユーザー名にもある程度対応していますが、開発ツールや古いインストーラーには対応しきれていないものも残っています。
新規ユーザーを作成する際は、
- 英数字のみ
- 空白や全角記号は使わない
といった方針で作成しておくと、Visual Studio 以外のツールでもトラブルを避けやすくなります。
| 再発防止策 | 効果 |
|---|---|
| TEMP/TMP の設定を整理 | 一時フォルダー絡みのエラー全般を減らせる |
| Temp フォルダーの定期クリーンアップ | 破損ファイルやロックファイルの蓄積を防ぐ |
| 新規ユーザーは英数字のみの名前に | パス絡みの互換性問題を根本から避けられる |
よくある質問(FAQ)
Q. TEMP/TMP を C:\Temp のまま使い続けても問題ありませんか?
A. システム全体に影響が及ぶような危険性は低いものの、運用上の管理を考えると標準のパスへ戻しておくことをおすすめします。特に複数ユーザーが同じ PC を使う場合、全員で同じ Temp を共有するとファイル名の衝突やディスク使用量の管理が難しくなります。
Q. Visual Studio を完全アンインストールして入れ直した方が早くないですか?
A. TEMP/TMP の問題が根本原因の場合、Visual Studio を何度アンインストールしても同じエラーで再び失敗する可能性が高いです。まずは本記事のように「一時フォルダーの問題」を切り分けてから、必要であれば再インストールを検討してください。
Q. vc_redist を単体でインストールする場合も同じ対処が有効ですか?
A. はい。vc_redist.x64.exe や vc_redist.x86.exe もインストールログを TEMP/TMP に出力するため、同様のエラーが出ることがあります。その際も、管理者 CMD で TEMP/TMP を C:\Temp に切り替えてから実行することで、問題を回避できるケースが多いです。
Q. ログファイルはどこまでチェックすればよいですか?
A. 「Error opening installation log file」の段階では、そもそもログファイルが生成されていない(または空の)場合もあります。まずは C:\Temp にログが作られるようになったかだけ確認し、そのうえで別のエラーが出ていないかを行ごとにチェックしていくと効率的です。
まとめ:まずは「一時フォルダー」を疑うのが近道
Visual Studio 2022 で「Couldn’t install Microsoft.VisualCpp.Redist.14」「Error opening installation log file」と表示される問題は、一見 Visual Studio 側の不具合のように見えますが、実際には Windows の一時フォルダー(TEMP/TMP)周りの問題であることがほとんどです。
本記事で紹介したように、
C:\Tempを作成して適切な権限を付ける- 管理者 CMD で TEMP/TMP を
C:\Tempに切り替え、そのままインストーラーを起動する - 必要に応じて Temp フォルダーのリセットや Windows Update、セキュリティ設定の見直しを行う
といった手順を踏むことで、多くの環境で正常に C++ ワークロードをインストールできるようになります。
同じエラーに悩んでいる方は、ぜひ一度「一時フォルダーの作り直し」から試してみてください。

コメント