Roland DG「VersaWorks 6」の再インストール時に“より新しい Microsoft Visual C++ 2022 再頒布可能パッケージ (x64) が必要”と表示されるのに、破損でアンインストールも修復もできない――この袋小路を、公式ツールと安全な手順だけで確実に抜けるための実践ガイドです。DLL不足、Package Cache参照エラーまで一気に解消します。
症状と原因の整理
以下のような複合不具合が同時に起こり、VersaWorks 6 が起動できないケースが多く報告されています。
msvcp140.dll、vcruntime140_1.dllなどが見つからない・読み込めない。- コントロール パネル(アプリと機能)から Microsoft Visual C++ 2015–2022 再頒布可能パッケージ (x64) の削除・修復ができない。
- インストーラが
C:\ProgramData\Package Cache\{XXXX-...}を要求するがフォルダーが存在しない。 - 最終的に VersaWorks 6 が起動せず、作業が停止してしまう。
| 現象 | 想定される主因 | 解決の要点 |
|---|---|---|
| DLL が見つからない | VC++ ランタイムの破損/一部削除 | 再頒布パッケージの完全クリーン再インストール |
| 修復・削除が失敗 | Windows Installer 情報破損・キャッシュ欠落 | 公式トラブルシューティングツールで“痕跡”を除去 |
| Package Cache を要求 | セットアップエンジンのキャッシュ参照切れ | Package Cache のリセット(リネーム) |
| 再インストール後も DLL エラー | UCRT(Universal C Runtime)未適用 | UCRT 更新を先に導入して依存関係を満たす |
結論:安全に直すための全体像
最短で確実に復旧するために、次の順番を厳守してください。
- Microsoft 公式「プログラム インストール/アンインストール トラブルシューター(diagcab)」で破損した VC++ ランタイム項目を完全除去
C:\ProgramData\Package Cacheをリセット(リネーム)- UCRT を先に適用(Windows Update または対象 KB)
- Visual C++ 2022 再頒布可能パッケージ (x64) をクリーンインストール
- VersaWorks 6 をクリーン再インストール
- うまくいかない場合のみレジストリの最終手段を検討
以下に各手順の具体策と注意点を詳述します。
作業前の事前チェック(成功率を上げる下準備)
- 管理者権限のローカルユーザーでログオン。
- アーキテクチャの確認:
Windows キー + Pause→ システムの種類が 64 ビットであることを確認。 - 再起動保留の解消:インストール前に 1 度再起動。
- 常駐セキュリティの一時停止:インストール中のみリアルタイム保護を一時停止(オフライン環境で実施、後述の注意参照)。
現在の VC++ ランタイムの残骸を把握するため、PowerShell で以下を実行します(管理者として)。
Get-Package | Where-Object {$_.Name -like "*Visual C++*2015*" -or $_.Name -like "*Visual C++*2022*"} |
Select-Object Name, Version, ProviderName
レジストリの検出フラグも参考になります。
reg query "HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64"
破損コンポーネントの除去(公式トラブルシューティング ツール)
Windows 標準のアンインストールに失敗する場合でも、Microsoft 公式の diagcab は「インストール情報の痕跡」を消し去ることができます。
- 「プログラム インストール/アンインストール トラブルシューター(diagcab)」を入手し実行。
- 表示された選択肢で 「アンインストール」 を選択。
- 候補一覧から以下の 2 つを順に選び、完全削除。
- Microsoft Visual C++ 2015–2022 Redistributable (x64) – Minimum Runtime
- Microsoft Visual C++ 2015–2022 Redistributable (x64) – Additional Runtime
- 削除後に必ず PC を再起動。
ポイント:「見つからない」「既に削除されている」と表示されても、痕跡キーや Windows Installer の登録情報が掃除されるため、その後のクリーンインストール成功率が一気に上がります。
Package Cache のリセット(キャッシュ参照切れ対策)
Visual C++ ランタイムは Visual Studio セットアップエンジンのキャッシュ(Package Cache)を参照します。破損していると「C:\ProgramData\Package Cache\{GUID} が見つからない」と要求され続けます。そこで、古いキャッシュを参照できないようにします。
- エクスプローラーで
C:\ProgramDataを開く(隠しファイルを表示)。 Package CacheフォルダーをPackage Cache_OLDにリネーム。- 存在すれば、
C:\Program Files (x86)\Microsoft Visual Studio\Installerも削除またはリネーム。 - この時点で再起動。
以降のセットアップで新しいキャッシュが再生成され、GUID 不整合によるロールバックが止まります。
UCRT(Universal C Runtime)を先に導入
VC++ 2022 は ucrtbase.dll をはじめとする UCRT に依存します。Windows 10/11 では通常同梱されていますが、破損・欠落や旧 OS からのアップグレード経路では未適用の場合があります。Windows Update で最新の累積更新を適用し、その後に VC++ を入れ直すのが最も安全です。
UCRT の有無は次で確認できます。
where ucrtbase.dll
dir C:\Windows\System32\ucrtbase.dll
ファイルが見つからない/サイズが 0 の場合は、更新プログラムの適用後に再起動してから次へ進みます。
Visual C++ 2022 再頒布可能パッケージ (x64) をクリーンインストール
必ず Microsoft 公式のインストーラ(vc_redist.x64.exe) を使用してください。個別 DLL のダウンロードサイトは改ざんリスクが高く、長期的に不整合を招きます。
vc_redist.x64.exeを用意する(USB などに保存)。- ファイルを右クリック → 管理者として実行。
- 画面の指示に従いインストール。
サイレントで実施する場合は、管理者のコマンド プロンプトで次を使えます。
vc_redist.x64.exe /install /quiet /norestart /log "%TEMP%\vc2022_x64_install.log"
インストール直後に一度再起動し、Minimum Runtime と Additional Runtime の 2 項目が「アプリと機能」に表示されることを確認します。
VersaWorks 6 をクリーン再インストール
RIP ソフト側にも古い参照や一時ファイルが残ることがあります。以下の順で「完全な入れ直し」を行います。
- コントロール パネル(アプリと機能)から VersaWorks 6 をアンインストール。
- 下記の残存フォルダーを手動で削除(隠しファイルを表示)。
C:\Program Files\VersaWorksC:\ProgramData\Roland DG VersaWorks
- 最新のインストーラを用意し、管理者として実行してインストール。
バックアップのおすすめ:ジョブキューやメディアプロファイルを保持したい場合は、上記フォルダーを削除する前に別ドライブへコピーしておき、再インストール後に必要な設定だけ戻すと安全です。
動作確認と DLL の実体チェック
インストールが完了したら、以下で「DLL の実在」と「ランタイムの検出状態」を確認します。
where /r C:\ msvcp140.dll
where /r C:\ vcruntime140_1.dll
reg query "HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64"
Get-Package | Where-Object {$_.Name -like "*Visual C++*2015*" -or $_.Name -like "*Visual C++*2022*"} |
Select-Object Name, Version
VersaWorks 6 が起動し、初回の環境構築が完了すれば復旧成功です。
代替策(最終手段):レジストリの手動クリーン
どうしてもアンインストールできない場合のみ実施してください。誤操作は OS に深刻な影響を与えます。復元ポイント作成とレジストリの完全バックアップを行ってから着手します。
- レジストリエディタを起動(
regedit)。 - 次をエクスポートでバックアップ:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products
- 同キー配下から Visual C++ 2015–2022 (x64) に該当する 2 つ前後のエントリを削除。
- PC を再起動し、
vc_redist.x64.exeの再インストールを実施。
この操作で Windows Installer の「存在検知」だけが解除され、改めて正規インストールが可能になるケースがあります。
まだ直らないときの深掘りチェックリスト
システムファイルの整合性回復
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
完了後に再起動し、改めて VC++ をインストールします。
Windows Installer(msiserver)の再登録
%windir%\system32\msiexec.exe /unregister
%windir%\system32\msiexec.exe /regserver
sc config msiserver start= demand
net stop msiserver
net start msiserver
インストールの妨げになるポリシーを確認
reg query HKLM\Software\Policies\Microsoft\Windows\Installer /v DisableMSI
値が 1(禁止)や 2(管理者のみ)なら、作業中は 0 へ。
再起動保留(Pending)の有無
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations
値が存在する場合は一度再起動してからインストールを再実行します。
詳細ログの取得(原因の特定)
- VC++ セットアップログ:
%TEMP%\dd_vcredist_amd64_*.log - Windows Installer ログ(必要に応じて一時的に有効化):
reg add HKLM\Software\Policies\Microsoft\Windows\Installer /v Logging /t REG_SZ /d voicewarmupx /f
原因把握後はログ設定を削除して元に戻してください。
セーフモード/クリーンブートでの再試行
常駐アプリやドライバの干渉が疑われる場合、クリーンブートまたはセーフモード(ネットワークなし)で VC++ → VersaWorks の順にインストールすると成功率が高まります。
winget を使った代替インストール
コマンドラインでの入れ直しが有効な場合があります(インターネット接続が必要)。
winget uninstall --id Microsoft.VCRedist.2015+.x64
winget install --id Microsoft.VCRedist.2015+.x64 --silent
セキュリティソフトとインストールの相性
一部のウイルス対策や EDR は、インストーラの自己展開や一時フォルダーへの書き込みをブロックすることがあります。以下のベストプラクティスを守ると失敗を防ぎやすくなります。
- インストール作業はオフライン(LAN/インターネット切断)で実施し、リアルタイム保護を一時停止。
- 次の場所を一時的に除外:
%TEMP%、C:\ProgramData\Package Cache、C:\Windows\Installer。 - 作業完了後は必ず保護を元に戻す。
よくある誤解・NG 行為
- DLL 単体のダウンロード&貼り付けは厳禁。バージョンの不整合・署名エラーで別のクラッシュを誘発します。必ず公式の VC++ 再頒布パッケージで入れ直してください。
- x86 と x64 を取り違えない。VersaWorks 6 は x64 環境を前提とします。必要に応じて x86 も共存できますが、今回の症状は x64 の破損が主因です。
- 再起動を省略しない。Pending なファイル置換が残り、何度やってもロールバックする原因になります。
- レジストリ直編集の多用はしない。どうしても必要な場合のみ「最終手段」で実施し、バックアップと復元ポイントを用意すること。
作業フローの早見表(保存版)
| 段階 | 実施内容 | 目的 | 想定所要 | 再起動 |
|---|---|---|---|---|
| ①除去 | diagcab で VC++ Minimum/Additional (x64) の痕跡を除去 | 破損した検出情報の一掃 | 5〜10分 | 必要 |
| ②キャッシュ | Package Cache のリネーム | GUID 参照切れの解除 | 1分 | 推奨 |
| ③UCRT | Windows Update/UCRT 更新適用 | VC++ の依存 DLL を満たす | 10〜20分 | 必要 |
| ④VC++ | vc_redist.x64.exe を管理者でクリーンインストール | ランタイム復旧 | 3〜5分 | 推奨 |
| ⑤VersaWorks | 旧フォルダー削除 → 最新版を再インストール | アプリ側の参照更新 | 10〜15分 | 不要 |
| ⑥最終手段 | Installer\Products の VC++ 関連キーをバックアップ後に削除 | 検出の詰まりを解除 | 5分 | 必要 |
半自動化スクリプト(上級者向け)
以下は要点を自動化する PowerShell 例です。実行は自己責任で、事前に復元ポイントを作成してください。
# 管理者 PowerShell
# 1) Package Cache リセット
$pc = "C:\ProgramData\Package Cache"
if (Test-Path $pc) { Rename-Item $pc "${pc}_OLD_$(Get-Date -Format yyyyMMddHHmmss)" -Force }
# 2) インストーラサービス健全化
Start-Process -FilePath "$env:WINDIR\system32\msiexec.exe" -ArgumentList "/unregister" -Wait
Start-Process -FilePath "$env:WINDIR\system32\msiexec.exe" -ArgumentList "/regserver" -Wait
sc.exe config msiserver start= demand | Out-Null
net stop msiserver | Out-Null
net start msiserver | Out-Null
# 3) UCRT の確認(存在しなければ Windows Update を案内)
if (-not (Test-Path "C:\Windows\System32\ucrtbase.dll")) {
Write-Host "UCRT が見つかりません。Windows Update を実施してから再実行してください。"
exit 1
}
# 4) VC++ 2022 のサイレントインストール(vc_redist.x64.exe を同じフォルダーに配置)
$vc = Join-Path $PSScriptRoot "vc_redist.x64.exe"
if (Test-Path $vc) {
Start-Process -FilePath $vc -ArgumentList "/install /quiet /norestart /log `"%TEMP%\vc2022_x64_install.log`"" -Wait
} else {
Write-Host "vc_redist.x64.exe が見つかりません。公式から取得して同フォルダーへ配置してください。"
}
# 5) 検出確認
Get-Package | Where-Object {$*.Name -like "*Visual C++*2015*" -or $*.Name -like "*Visual C++*2022*"} |
Select-Object Name, Version | Format-Table -Auto
なぜこの順序で直るのか(技術的背景)
Visual C++ 再頒布可能パッケージは、Visual Studio セットアップエンジン(Burn)を介して配布されます。インストーラは C:\ProgramData\Package Cache に配置されたペイロードと、Windows Installer の登録情報を相互参照しながら修復やアンインストールを行います。どちらか一方でも破損すると、インストーラは「残骸の情報」を頼りにキャッシュを探し続け、見つからないとロールバックしてしまいます。
そこで、まず diagcab で登録情報のゴミを削り、次に Package Cache をリネームして古いキャッシュ参照を断ちます。さらに UCRT の先行適用で下位依存を先に満たしておくことで、msvcp140.dll や vcruntime140_1.dll のロード時エラーを未然に防ぎます。この 3 点が揃うと、VC++ のクリーンインストールは高確率で成功します。
まとめ:最短で正常化するチェックリスト
- 公式 diagcab で VC++ 2015–2022 (x64) の Minimum/Additional を除去したか。
Package CacheをPackage Cache_OLDへリネームしたか。- UCRT を適用し、
ucrtbase.dllの存在を確認したか。 vc_redist.x64.exeを 管理者でクリーンインストールしたか。- VersaWorks 6 をクリーン再インストールし、起動確認したか。
- 未解決なら、DISM/SFC、msiserver 再登録、ログ収集、最終手段としてレジストリクリーンを実施。
この順序と注意点を守れば、「削除も修復もできない」状態からでも、高い確率で VersaWorks 6 を再稼働させられます。

コメント