x64アプリケーションで使用する必要がある32ビットのlibがあります。この問題を解決するため、32ビットと64ビットのプロセス間の通信を処理するCOMサーバーアプリケーションを作成しました。COMサーバーを使用したサイドバイサイドエラー、再配布可能なC++がインストールされています
すべてはWindows 7のバージョンVS2005、バージョン8.0.50727.867
に組み込まれています。私が気づいたことの1つは、私のバージョンがSP1の再配布バージョン(8.0.50727.762
)と一致しないことです。私はこれがVS2005のVistaアップデートに起因していると思っています。私はredistのそれ以降のバージョンを見つけることができません。
これは私の開発マシンでは動作しますが、Win7 x64ボックスには表示されません。したがって、エラーは次のようになります。
"C:¥Program Files¥ScanScope¥Controller¥ACBarOmniServer.exe"のアクティベーションコンテキストの生成に失敗しました。依存アセンブリMicrosoft.VC80.CRT、processorArchitecture = "x86"、publicKeyToken = "1fc8b3b9a1e18e3b"、type = "win32"、version = "8.0.50727.6195"が見つかりませんでした。詳細な診断については、sxstrace.exeを使用してください。
これ以前はVS2005 C++再配布可能パッケージをインストールしていました。私は再びそれをインストールしようとしました、運がない。私は私のWinsxsフォルダを欺いたが、確かに、バージョンがない。
私はhereから再頒布可能インストーラを実行すると、私は私のSxSフォルダ内のCRT、次のバージョンの取得:
- 8.0.50727.42
- 8.0.50727.762
- 8.0.50727.4053
- 8.0 .50727.4940
もちろん、バージョン8.0.50727.6195
が必要です。
静的にリンクできるすべての設定(つまり、/ MT、MFCへの静的リンク、ATLへのリンクなし)を設定していますが、Cランタイムのダイナミックバージョンに依存します。
私は運がないsxstraceを使用しました。トレースを開始し、プログラムを起動し、エラーを取得し、トレースを終了し、別のファイルに解析します。解析されたファイルは完全に空です。
注目すべき点が1つあります。 Win7ボックスでredistインストーラを実行すると、文字通り2〜2文字で完了し、消えます。今、私はそれがプログラムの追加と削除にインストールされ、sxsフォルダにフォルダを追加しますが、これは私を奇妙なものにしています。
誰でもこのヘルプの経験があれば大変感謝します。私が残した情報が必要な場合は、私に知らせてください。