Windows 10からWindows 11へ移行後にVeritas System RecoveryのSRD作成でVisual C++再頒布可能パッケージが見つからない問題の解決方法

Windows 10 から Windows 11 に移行したあと、Veritas System Recovery(VSR)で起動用メディア(SRD)を作ろうとしたら「Visual C++ 再頒布可能パッケージが見つからない」「Windows 10 からコピーしたいが権限エラーで拒否される」という悩みは珍しくありません。本記事では、この状況を安全かつ確実に解決するための手順を、実務目線で詳しく解説します。

目次

Windows 10 から Windows 11 へ移行すると発生する「VC++ ランタイムがない」問題

Windows 10 から Windows 11 へクリーンインストールやPC入れ替えを行うと、以前は問題なく使えていた Veritas System Recovery(以下 VSR)の起動用メディア(SRD)作成が、急に失敗することがあります。

代表的な症状としては、次のようなものです。

  • SRD 作成ウィザードの途中で「Visual C++ 再頒布可能パッケージがインストールされていません」「必要なコンポーネントが見つかりません」と表示される
  • ログに VC++ runtime や vcruntime140.dll などに関連するエラーが記録される
  • Windows 10 では SRD 作成に成功していたので、「Windows 10 の DLL をコピーすれば直るのでは?」と思ってしまう
  • しかし、C:\Windows\WinSxS や C:\Windows\System32 からコピーしようとすると「アクセスが拒否されました」「管理者権限でも書き込めない」といったエラーになる

結論から言うと、Windows 10 から Windows 11 へ DLL やフォルダーを直接コピーして上書きするのは NG です。理由と正しい対処方法を順番に見ていきます。

なぜ Visual C++ 再頒布可能パッケージが必要なのか

VSR に限らず、多くのアプリケーションは「Visual C++ でビルドされたプログラム」を内部で利用しています。これらのプログラムを実行するための共通部品が「Visual C++ 再頒布可能パッケージ(Visual C++ Redistributable / VC++ ランタイム)」です。

ポイントは次の通りです。

  • アプリ本体の EXE・DLL とは別に、VC++ ランタイム(C ランタイム、C++ ランタイム)が必要
  • VC++ ランタイムは、OS とは独立した「追加コンポーネント」としてインストール・更新される
  • バージョン(2010、2012、2013、2015–2022 など)とビット数(x86 / x64)が分かれている
  • VSR の SRD 作成機能は、特定バージョンの VC++ ランタイムに依存している

つまり、Windows 11 に必要な VC++ ランタイムが入っていない/壊れている ことが、VSR のエラーの直接的な原因です。DLL をコピーするのではなく、正しいインストーラーでランタイムを入れ直す のが王道です。

DLL コピーが危険な理由:WinSxS と TrustedInstaller の仕組み

「Windows 10 では動いていたから、そっちから DLL をコピーしてくればいいのでは?」と思うのは自然な発想ですが、これには大きな落とし穴があります。

やり方メリットデメリット・リスク
Windows 10 から DLL を手動コピー一見すると手っ取り早く見える別バージョンの OS の DLL を混在させてしまう WinSxS の Side-by-Side 構成を破壊する可能性 更新プログラムが正常に当たらなくなるリスク 権限エラーでコピー自体が困難
Microsoft 公式インストーラーで再導入OS と整合の取れた正規のランタイムが入る Windows Update とも整合がとれる トラブル時の切り分けが容易多少手順が多いように感じる

Windows のシステムフォルダー(特に C:\Windows\WinSxS)は、TrustedInstaller という特別なアカウントが所有しており、管理者権限ですら自由に書き換えられない ようになっています。これは「勝手に DLL を上書きされて OS が壊れる」のを防ぐための仕組みです。

したがって、たとえユーティリティを使って TrustedInstaller 権限を奪ったとしても、DLL を無理にコピーするのは最後の最後、それも自己責任の「禁じ手」 です。本記事では、原則としてコピーではなく「アンインストール+システム修復+公式インストール」という正攻法をおすすめします。

正しい解決策の全体像

今回の問題を根本から解決するための流れを先に示すと、次のようになります。

  1. 現在インストールされている VC++ ランタイムの状況を確認する
  2. VSR のバージョンが Windows 11 に正式対応しているか確認する(v22 以降を推奨)
  3. 既存の VC++ ランタイムを一度きれいにアンインストールする
  4. システムファイルチェック(SFC)と DISM で OS 側の整合性を修復する
  5. Microsoft 公式のインストーラーから VC++ ランタイムを入れ直す(必要な版+x86/x64 両方)
  6. Windows を再起動したうえで VSR の SRD 作成を再試行する
  7. それでもエラーが続く場合は、レジストリ破損や VSR 側の問題を疑って追加調査する

以降、この流れに沿って具体的な操作手順を解説していきます。

事前準備:環境確認とバックアップ

Veritas System Recovery のバージョンを確認する

まず最初に確認すべきなのは「そもそも使っている VSR のバージョンが、Windows 11 を正式サポートしているかどうか」です。古いバージョンの VSR では、Windows 11 上での SRD 作成が正常に動作しない場合があります。

目安としては、Veritas System Recovery 22(v22)以降 を利用することをおすすめします。VSR のメニューからバージョン情報を開き、バージョン番号を確認してください。

VSR バージョンWindows 11 での利用備考
v21 以前非サポートまたは動作保証外の可能性が高いSRD 作成が失敗しやすい。アップグレード推奨。
v22 以降Windows 11 を公式サポート最新のアップデート適用を推奨。

もし v21 以前を使用している場合、VC++ ランタイムを整える前に、まず VSR 自体のアップグレードを検討した方が、結果的に手戻りが少なく済むケースが多いです。

インストール済み Visual C++ 再頒布可能パッケージを確認する

次に、Windows 11 側にどの VC++ ランタイムが入っているかを確認します。

  • Windows 11 の設定から確認する場合
    • [設定] → [アプリ] → [インストールされているアプリ]
    • 検索ボックスに「Visual C++」と入力すると、関連パッケージだけが絞り込まれます
  • 従来のコントロールパネルから確認する場合
    • appwiz.cpl を実行(Win + R → appwiz.cpl)
    • 「Microsoft Visual C++ ○○ 再頒布可能パッケージ」がずらっと並んでいるか確認

VSR のエラー内容や公式ドキュメントに、「Visual C++ 2015–2022 (x64) が必要」といった記載がある場合は、そのバージョン・ビット数を特に意識しておきます。迷う場合は、x86 と x64 の両方を入れておく と安心です。

復元ポイント・バックアップを作成しておく

これから VC++ ランタイムのアンインストールやレジストリ操作を行うため、念のため復元ポイントや VSR によるシステムバックアップを作成しておくことを強くおすすめします。

  • システムの復元が有効になっている場合は、手動で復元ポイントを作成
  • VSR や他のイメージバックアップソフトで、システムドライブのイメージを取得しておく

万が一トラブルがあっても、ここまで準備しておけば元の状態に戻しやすくなります。

Visual C++ 再頒布可能パッケージをクリーンインストールする

手順の概要

VC++ ランタイムのトラブルに対して、もっとも確実性が高いのは次の流れです。

  1. 既存の VC++ ランタイムを一度すべてアンインストールする
  2. アンインストールに失敗したものは、専用ツールで残骸を削除する
  3. SFC と DISM で Windows のシステムファイルを検査・修復する
  4. Microsoft 公式インストーラーから、必要な VC++ ランタイムを x86 / x64 両方インストールする

既存の VC++ ランタイムをアンインストールする

先ほど確認した一覧から、「Microsoft Visual C++ ~ 再頒布可能パッケージ」を順番にアンインストールしていきます。

  • x86 / x64 ともに対象
  • 2010 / 2012 / 2013 / 2015–2022 など、複数バージョンが入っている場合はすべて

アンインストールに失敗したり、途中でエラーが出る場合は、Microsoft が提供している プログラムのインストールとアンインストール トラブルシューティングツール(インストーラーの残骸を削除するためのツール)を利用し、「削除したいプログラムを選んで痕跡を消す」ことで解決できるケースがあります。

この段階で再起動を求められた場合は、指示に従って PC を再起動してください。

SFC と DISM でシステム整合性をチェックする

VC++ ランタイムのアンインストールが一通り完了したら、OS 側に破損がないかをチェック・修復します。

  1. スタートメニューから「Windows ターミナル(管理者)」または「コマンド プロンプト(管理者)」を起動
  2. 次のコマンドを順番に実行
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

sfc /scannow はシステムファイルの整合性をチェックし、破損していれば修復を試みます。DISM /Online /Cleanup-Image /RestoreHealth は、コンポーネントストア(WinSxS)の健全性を確認・修復するためのコマンドです。

どちらも時間がかかる場合がありますが、処理が完了するまで待ちます。完了したら、必ず PC を再起動してください。

Visual C++ 再頒布可能パッケージを再インストールする

OS 側の整合性が整ったら、改めて VC++ ランタイムをインストールします。基本的には、VSR が要求するバージョンを中心に、次のような組み合わせを入れておくと安心です。

バージョン推奨アーキテクチャ備考
Visual C++ 2013x86 / x64古いアプリの互換性確保に有効
Visual C++ 2015–2022x86 / x64(特に重要)現行アプリの多くが依存。VSR でも頻出。

インストーラーを実行する際は、ファイルを右クリックして[管理者として実行]を選ぶと、安全側に倒せます。すべての VC++ ランタイムのインストールが終わったら、再度 PC を再起動しておきましょう。

VSR 側で SRD 作成を再試行する

VC++ ランタイムのクリーンインストールが完了したら、VSR を起動して SRD(起動用メディア)の作成を再試行します。

  1. VSR を管理者権限で起動する(ショートカットを右クリック → [管理者として実行]
  2. SRD 作成ウィザードを再度実行する
  3. 途中でエラーが出る場合は、表示されるメッセージ・ログを確認し、どのランタイムが要求されているかをチェック

もし再インストールしたはずの VC++ ランタイムについてのエラーが出る場合は、次の点を確認します。

  • VC++ ランタイムのバージョン・ビット数が合っているか(x64 だけ入れて x86 を忘れていないか)
  • VSR のバージョンが Windows 11 対応版(v22 以降)になっているか
  • VSR 自体に最新のアップデート(修正プログラム)が適用されているか

やむを得ず DLL やフォルダをコピーしたい場合(非推奨)

ここまでの手順を踏んでも状況が改善しない場合、「どうしても別 PC の環境を丸ごとコピーしたい」というケースもあるかもしれません。ただし繰り返しになりますが、これは強く非推奨です。

参考までに、どのような方法があるのか・何が危険なのかを整理しておきます。

  • TrustedInstaller 権限でのコピー
    • 一部のユーティリティ(例:権限を切り替えてプログラムを実行するツール)を使えば、TrustedInstaller と同等の権限でエクスプローラーやコマンドプロンプトを起動することができます
    • この状態であれば、WinSxS への書き込みや DLL の上書きも技術的には可能です
  • なぜ危険なのか
    • 別環境からコピーしてきた DLL は、OS バージョンや更新レベルと一致していない可能性が高い
    • Side-by-Side 構成(同名 DLL の複数バージョン管理)が壊れるリスク
    • 将来的な Windows Update が失敗したり、予期しないタイミングでシステムが不安定になる可能性

もしどうしてもコピーで対処する場合は、最低限以下を守ってください。

  • 必ずシステム全体のイメージバックアップを取得してから作業する
  • コピーはピンポイントではなく、同一 OS ビルドの同一パッチレベルの環境からのみ行う
  • 問題が発生した場合は、躊躇なくバックアップからの復元に切り替える

とはいえ、これらはあくまで「最終手段」です。業務用 PC であればなおさら、基本方針はあくまで「コピーではなく正規インストーラーでの再導入」にすべきです。

レジストリ破損が疑われる場合の追加対処(上級者向け)

VC++ ランタイムのアンインストール・再インストールを何度試しても、「MSI が見つからない」「インストールソースへのパスが不正」といったエラーが繰り返し出る場合、レジストリ上のインストーラー情報が壊れている 可能性があります。

上級者向けとなりますが、次のようなポイントを確認することで解消できるケースもあります。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products 配下に、問題の VC++ ランタイムに対応するキーが残っていないか
  • その中のエントリが、存在しない .msi ファイルへのパスを指していないか

特定できた場合、そのキー(および関連するエントリ)を削除することで、インストーラーが正常に動作するようになる場合があります。ただし、ここを誤って操作すると他のアプリケーションに影響する可能性があるため、

  • 作業前に必ずレジストリのバックアップ、または復元ポイントを作成する
  • どのエントリを削除したかメモを残し、最小限の変更に留める

といった慎重な対応が必要です。自信がない場合は、この段階の操作は避けるか、専門知識のある担当者に依頼することをおすすめします。

「AIO VC++ パッケージ」だけに頼るのは危険

ネット上には、複数バージョンの Visual C++ 再頒布可能パッケージをまとめてインストールできる、いわゆる「AIO(All in One)パッケージ」が多数出回っています。

便利に見えますが、次のような理由から、これだけに頼るのは推奨できません。

  • 出所や更新状況が不明なものも多く、セキュリティリスクを完全には否定できない
  • どのバージョンが、どの手順でインストールされたかが把握しづらい
  • トラブルが起きた際に、原因の切り分けが難しくなる

AIO パッケージをどうしても使いたい場合は、次のようなスタンスが現実的です。

  • 最初の「お試し」としてだけ利用し、その後は Microsoft 公式インストーラーで正式に環境を整え直す
  • 業務環境・本番環境では、AIO パッケージのみで完結させない

最終的に信頼できるのは、やはり「公式インストーラーで入れたランタイム」と「Windows Update」です。

よくある質問と回答(FAQ)

Q1. Visual C++ 再頒布可能パッケージは全部入れておいて大丈夫?

A1. はい、基本的には問題ありません。複数バージョンの VC++ ランタイムは、Side-by-Side という仕組みで共存するように設計されています。むしろ、古いアプリのために古いバージョンが必要になる場面も多いため、必要になりそうなバージョンはあらかじめ入れておいた方がトラブルを避けやすくなります。

Q2. Windows Update だけではダメなの?

A2. Windows Update は「すでにインストールされている VC++ ランタイム」を更新することはあっても、「入っていないバージョンを勝手に追加インストールする」ことは基本的にありません。そのため、必要なバージョンを自分でインストールする作業 はどうしても必要になります。

Q3. 再インストールしても VSR が SRD 作成に失敗する

A3. 次のポイントを順番に確認してみてください。

  • VSR のバージョンが Windows 11 対応版(v22 以降)になっているか
  • VSR の最新アップデート(リビジョン、修正プログラム)が適用されているか
  • VC++ ランタイムの x86 / x64 の両方がインストールされているか
  • 別のセキュリティソフトやポリシーで、SRD 作成時の一時ファイル書き込みがブロックされていないか

Q4. 32bit / 64bit のどちらを入れればいい?

A4. 迷ったら両方(x86 と x64)入れる のが正解です。アプリ本体が 64bit であっても、内部で 32bit コンポーネントを呼び出しているケースがあるため、x86 のランタイムも必要になることがよくあります。

まとめ:コピーではなく「公式インストール」で環境を整える

Windows 10 から Windows 11 に移行したあと、Veritas System Recovery で SRD を作成しようとした際に「Visual C++ 再頒布可能パッケージが見つからない」「コピーしたいが拒否される」といった問題が発生する場合、

  • 他 PC から DLL をコピーして上書きするのはリスクが非常に高く、原則として避けるべき
  • 必要な VC++ ランタイムは、Microsoft 公式インストーラーから再導入するのが正攻法
  • 破損が疑われる場合は、VC++ アンインストール → SFC/DISM → 公式ランタイム再インストール の順でクリーンに整える
  • そもそも VSR が Windows 11 に正式対応したバージョン(v22 以降)かどうかを最初に確認する

というポイントを押さえておくことが重要です。

トラブルに直面すると「動いている別 PC からコピーすれば早い」と考えがちですが、Windows のシステムは想像以上に複雑です。「コピーでその場しのぎ」よりも、「公式インストーラーで環境を整え直す」方が、長期的には安定性と信頼性の面で大きなメリットがあります。

これから Windows 11 への移行や VSR の環境再構築を行う際には、ぜひ本記事の手順を参考に、安全かつ再現性の高い方法で VC++ ランタイム環境を整備してみてください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次