2012-01-11 7 views
3

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フォルダにフォルダを追加しますが、これは私を奇妙なものにしています。

誰でもこのヘルプの経験があれば大変感謝します。私が残した情報が必要な場合は、私に知らせてください。

答えて

4

正しい再配布可能なパッチhereが見つかりました。

これはVS2005ユーザーに送信された更新プログラムですが、一般のユーザーには送信されませんでした。 sigh、よく

関連する問題