マニフェストが762を使用しているときにC ++アプリケーションがCRT 4053を使用する可能性はありますか?

StackOverflow https://stackoverflow.com/questions/2685917

  •  30-09-2019
  •  | 
  •  

質問

私のアプリケーションは、マニフェスト762の開発PCにコンパイルされています。

ただし、実行時に別のリリースPCで、アプリケーションはファイルの4053バージョンを使用します。 C: Windows winsxs x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989 msvcr80.dll

アプリケーションの実行に沿ってどこかで、MSVCR80.dllを指すランタイムエラーが発生します。ビルド中に使用されなかった実行時にアプリケーションがDLLを使用するため、問題が発生する可能性があると思います。

リリースPCのWinSXSフォルダーをチェックインすると、CRTの762バージョンと4053バージョンの両方があります。マニフェストで使用されているものの代わりに、アプリケーションが4053を使用するのはなぜですか?

ありがとう。

役に立ちましたか?

解決

要求されたDLLバージョンをリダイレクトする「パブリッシャーポリシー」のため。あなたのマニフェストはもう762を求めるべきではありません、それはクーティを持っています。展開する必要があります セキュリティアップデート マシンにvc include crtassem.hが更新されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top