サイド構成が正しくないため、アプリケーションを開始できませんでした。プログラミングメモプログラミングメモ読者になるプログラミングメモソフトウェア開発に関する技術メモ。この広告は、90日以上更新していないブログに表示しています。サイド構成が正しくないため、アプリケーションを開始できませんでした。」Windowsプログラミング作成したアプリケーション(.exe)を、開発環境とは別のマシンで起動させたら、以下のメッセージが表示された。この場合の調査方法について。サイド構成が正しくないため、アプリケーションを開始できませんでした。詳細については、アプリケーションのイベントログを参照してください。アクティブ化コンテキストの生成に失敗しました。Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053"が見つかりませんでした。interfaces(??)のグループ。個々のサイドバイサイドアセンブリには名前とバージョンが付いている。アプリケーションは自分が必要とするサイドバイサイドアセンブリの名前、バージョンを、そのアプリケーションの「マニフェスト(manifest)」に書いておくと、アプリケーション実行時にそのサイドバイサイドアセンブリがOSによって読み込まれる。マニフェストは、サイドバイサイドアセンブリも持っており、そこにはサイドバイサイドアセンブリを構成するファイルや、サイドバイサイドアセンブリの依存関係が記述されている。問題のexeでどのアセンブリ(ライブラリ)を必要としているのか?マニフェストは.exeに埋め込まれている場合と、.exeと同じフォルダに〜.exe.manifestという名前で存在する場合とがある。マニフェストはXMLで記述されており、後者の場合はエディタで参照できる。Studioの[ファイル]-[ファイルを開く]で問題のexeを選択。exeのリソースが表示される。「1[英語(米国)]」を選択して表示。(exeでなくてDLLの場合は1ではなく2になる?)マニフェストは以下のような内容。</dependency></assembly>この例の場合、x86用のMicrosoft.VC80.CRTのバージョン8.0.50727.762が必要だと言っている。そのサイドバイサイドアセンブリは、問題が発生したマシンに存在するのか?上記の例の場合、以下のファイルがあるか確認。※「none_10b2f55f9bffb8f8」の部分は規則が不明。このファイルが無ければマシンに存在しないと判断してよさそう。別のバージョンのアセンブリで置き換えるように「リダイレクト」する仕組みもあるらしい。この場合、リダイレクト先は以下のファイルで設定されるらしい。C:\Windows\WinSxS\Policies\x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_????\8.0.50727.762.policyマシンに存在しなかった場合の対処インストーラを作成する以外の解決方法について。方法:XCopyを使用して配置する静的にリンクするCランタイムライブラリについては、プロジェクトのプロパティの[C/C++]-[コード生成]-[ランタイムライブラリ]で(/MDの代わりに)/MTを選ぶ。Studioによって自動生成されるが、その環境で利用可能な最新のバージョンのサイドバイサイドアセンブリを要求するようにマニフェストが生成されているように見える。このため、より古いバージョンのサイドバイサイドアセンブリしかインストールされていない環境にそのexeを持っていくと、冒頭のエラーメッセージが出る。要求するバージョンを下げれば問題は解決するが、その標準的な方法が不明。ひとつの方法としては、マニフェストを〜.exe.manifestに外出しにし、テキストエディタで書き換えればよい。Ec...2009-10-17LGPLなライブラリを使ってアプリを開発し、配布したいLGPLv3なライブラリFooを使ってアプリを開発した。10はてなブログをはじめよう!teematsuさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。