Windows10でOriginアプリインストール時のエラー対処

エンジニア

久々にWindows10をクリーンインストールした。ゲームのOriginアプリをインストールしようとしたところ、dllが見つからないエラーでインストールできず、はまったので記録しておく。

必要なDLLが見つからない

エラーはセットアップのexeを実行したときに下記が見つからないというダイアログ。まあ、これ自体は昔からwindowsを触っていれば良くあることではある。

  • MSVCP140.dll
  • VCRUNTIME140.dll

ググると良く出てくるのが、過去のVisual C++ Runtimeをインストールすることで治るということなので、基本的にはそれをインストールすれば良いはず。


今回見つからないファイルは、~140.dll 。この数字はVCのバージョンに相当している。

Microsoft Visual C++ 2019 (VC++ 14.2), または 2015 (VC++ 14.0)であれば、再頒布可能パッケージに必要なDLLが含まれているらしい。

そこで、2015のx64パッケージをインストール。

最新のサポートされる Visual C++ のダウンロード (microsoft.com)

しかし、直らず。

先に結論

起動しようとしている実行ファイルが、x86版かx64版かで必要なパッケージが異なる

起動するファイルに合わせて必要な方をインストールする必要がある。

気づいて調べてみると色々なところに書いてあるが、64bitマシンなら、わからなければ両方入れておくのが無難っぽい。

気づくまでの過程は後述するが、これに気付かずしばらくはまった。

気づくまでの原因調査


上述のとおり、このときはx64版のインストールだけで治らなかったので、少し詳しく調べてみた。

基本的に、アプリケーション実行時に必要なDLLは、環境変数のPATHから探すようになっている。
確認したところWindows\system32には必要なDLLファイルは入っていた。なのに認識しない。

そこで、アプリケーションが依存するDLLを調べてみることにした。
(Dependency Walkerというフリーソフトを見つけた Dependency Walker (depends.exe) Home Page )

調べたところ、確かに依存するDLLは存在することになっている。
が、本体のEXEファイルだけはx86バイナリ(32bit版)であることに気が付いた。
(Originのダウンロードサイトにはそのあたりの説明がない)

※余談:Microsoftのドキュメントには、同様の別のアプリケーションが紹介されていた(3rd party)。が、これの動作にVCランタイムが必要というなんともニワトリタマゴな話。

x86版インストールで解決

x86(32bit)版もインストールしたところ、無事起動した。

気づけばなんということもなかった。

コメント

タイトルとURLをコピーしました