System32の64ビットファイル[完了]


-1

しばらく前に、私は私のプログラムのいくつかがエラー0xc000007bのために動作を停止したことに気づいた。少し調査した後、問題の原因を2つのファイルにトレースしました。 msvcr100.dll そして msvcp100.dll 。これらのファイルの32ビットバージョンは、System32フォルダ内の64ビットバージョンによって(どういうわけか)切り替えられ、多くのプログラムが即座にクラッシュします。これらのファイルの32ビットバージョンをダウンロードまたは入手して変更できるようにする方法はありますか?

シモンズ:私はすでにVisual C ++ 2010再頒布可能パッケージ(x86)を再インストールしてみました そして x 64)、それは動作しませんでした。

PPS:私は働いていなかったプログラムでdepends.exeを使用して、2つのファイルについて調べました。プログラムは多くのx86ライブラリを使用しているはずですが、上記の2つのファイルはx64でした。 そして 内部システム32。


はい、32ビット版をインストールするだけですか?なぜあなたは彼らが交代したと思いますか?はい;その質問に対する答えは重要です。正確なエラーを入力してください。どのエラーが発生したのかわからないため、解決策を調査できません
Ramhound

それを修正しました。今、それはより具体的かもしれません
user6180500

System32は、64ビット版のWindowsに64ビットDLLを格納することを想定しています。再配布可能ファイルの32ビットバージョンをインストールするのがVisual C ++の32ビットバージョンを参照する32ビット実行可能ファイルを実行するのに十分です。
Ramhound

1
ちなみに32ビットバージョンのファイルはSysWoW64にあります
Ramhound

回答:


2

最新のMicrosoft Visual C ++ 2010再頒布可能パッケージx 32をインストールしてから、以前のVC ++バージョンおよびファイルをすべて削除してからx 64をインストールすると、問題は解決します。 .dllはこの配布の一部です。

それでもうまくいかない場合は、DLLを追跡して、必要な場所に着陸していることを確認します。 それらを手動で登録するにはregsvr32.exeを使用してください(この目的のために、からダウンロードすることができます。 ここに

それでもうまくいかず、WindowsのSFCを実行したくない場合は、対応するバージョン(32または64)をproblem-apps .exeファイルのフォルダーにドロップしてください。


実際にこれらのdllを登録する必要はありません。あなたはそれらを単にアプリケーションディレクトリに置くことができ、そしてデフォルトでWindowsは依存関係を探す最後の場所の1つはアプリケーションディレクトリです。このファイルの場所の階層構造はよく文書化されており、Windows XP以前からそうなっています。
Ramhound

はい正解;ただし、それらを登録すると、特定のアプリへのコピーのdirメソッドと比較して他のアプリでも使用できるようになります。
Overmind
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.