桜、抹茶、白、日記

名古屋市在住のC++使いのcoderの日記だったもの。

Private Assemblies

VC++2005以降にて作成したバイナリを配布する際に、VC++のランタイムを共有アセンブリではなくプライベートアセンブリで配置する方法。

2. 開発用コンピュータで、%PROGDIR%\Microsoft Visual Studio 9.0\VC\Redist\x86 から \bin および \bin\MyLibrary に Microsoft.VC90.CRT および Microsoft.VC90.MFC をインストールします。
3. ... ターゲット コンピュータがマニフェストベースのバインディングをサポートしている場合 (Windows XP Home Edition、Windows XP Professional、Windows Server 2003Windows Vista)、それ以上の準備は必要ありません。

  1. プログラムの実行構成を作成する。
    • ※「MyApplication.exe」は、VC++2005で作成されたMFCを利用するWindowsコンソールアプリケーションとする。
    • ※「MyLibrary\MyLibrary.dll」は、VC++2005で作成されたMFCを利用するDLLとする。
  2. 開発マシンのVC++のインストールフォルダにアクセス。
  3. プログラムの実行構成に、必要な実行ランタイムのフォルダをコピーする。
  4. 「MyLibrary」フォルダにも同様に依存するランタイムのフォルダをコピーする。
  5. 以上。

簡単杉ワロタ。


これがどんな時に役に立つのかというと、Administrator権限がなくVC++の共有アセンブリのインストールすらさせて貰えない環境において、VC++で作成したプログラムを動かそうとする場合。
プロジェクトの設定の変更を行う事なく出来ますので、自分でManifestファイルを弄ったりする必要はありません。