UE4.25.1でWin64ビルドしたパッケージを実行した際に一部のWindows10環境で問題が発生した。
ここではその内容を記録する。
発生した現象
パッケージを実行しようとすると以下のようにCrashReportClient.exeでVCRUNTIME140_1.dllが見つからないというエラーが表示される。
ただし、アプリを実行することはできるがOculusのHMDで音が聞こえない。
6環境中2つのWindows10環境で発生した(関係するかは不明だがUE4とVisualStudioが入っていない環境)。
プロジェクト設定でInclude prerequisites installerにチェックを入れていたがパッケージ実行時にVC Runtimeのインストールは求められなかった。
必要なVC Runtimeが入っていないとパッケージ実行時にインストールを求められるのでVC Runtimeはインストールされていたと思われる。
ちゃんとした確認ができていないがInclude Crash Reporterのチェックが入っていないプロジェクトのパッケージ実行ではdllエラーは表示されずに音だけ聞こえない状態になっていた。
原因
原因は特定できていないががVC Runtimeの特定バージョンで問題があったと推定。
対応方法
以下のサイトからvc_redist.x86.exeとvc_redist.x64.exeをダウンロード&インストールしてPC再起動(念のため)したら問題は起きなくなった。
https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads
再現環境の作成ができていないので効果確認はできていないが、プロジェクトの設定でinclude app-local prerequisitesにチェックを入れておくとVC Runtimeを入れなおさなくても良いかもしれない。
include app-local prerequisitesにチェックをいれるとVCRUNTIME140_1.dllなどをパッケージに含むようになりパッケージ内の[プロジェクト名]/Binaries/Win64以下のexeの依存関係を調べるとそれらのdllを利用していた。
このため、dllがなかったり問題があったりしてもそれを利用してくれそう。
参照サイト
- Unreal Engine 4.25 Preview - Unreal Engine Forums
- VCRUNTIME140.dll is missing error? (Solved) - UE4 AnswerHub
- "The program can't start because VCRUNTIME140.dll is missing from your computer..." when launching Autodesk products | AutoCAD 2018 | Autodesk Knowledge Network
- UE4 and Visual Studio 2015 - Unreal Engine Forums