方法 : セットアップおよび配置プロジェクトを配置する
更新 : 2007 年 11 月
このトピックでは、主にセットアップおよび配置プロジェクトというプロジェクト タイプについて説明します。この配置方法の背景については、「配置のシナリオ例」を参照してください。
Visual C++ ライブラリ DLL を共有アセンブリとして配置する処理手順
セットアップおよび配置プロジェクトを作成する
[ファイル] メニューの [新しいプロジェクト] をクリックし、[その他のプロジェクトの種類] ノードを開きます。次に、[セットアップと配置] をクリックし、[セットアップ プロジェクト] をクリックします。名前を入力し、[OK] をクリックします。
メモ : Visual C++ Express では、セットアップ プロジェクトはサポートされません。Visual C++ Express でビルドしたアプリケーションと一緒に、Visual C++ ライブラリを再頒布するには、Visual C++ 再頒布可能パッケージを利用してください。詳細については、「方法 : XCopy を使用して配置する」を参照してください。
プロジェクトに EXE と DLL を追加し、これらをインストールするターゲット コンピュータ上の場所を指定する
[プロジェクト] メニューの [追加] を選択し、[ファイル] をクリックします。
MyApplication.exe と MyLibrary.DLL を含むフォルダを検索し、両方のファイルを選択します。
[ファイル システム] ウィンドウで、[アプリケーション フォルダ] を右クリックします。次に、[追加] をポイントし、[作成] をクリックして新しいフォルダを作成します。そのフォルダに MyLibrary という名前を付けます。
[アプリケーション フォルダ] を再度クリックし、MyLibrary.DLL を選択して MyLibrary フォルダにドラッグします。ソリューション エクスプローラで、プロジェクトの下にある [見つかった依存関係] に、Visual Studio によって MFC90.dll と MSVCR90.dll への依存関係が検出されたことが表示されます。これらの DLL に対応するマージ モジュールを追加する必要があります。
[プロジェクト] メニューの [追加] をポイントし、[マージ モジュール] をクリックします。Microsoft_VC90_CRT_x86.msm および Microsoft_VC90_MFC_x86.msm を選択し、[OK] をクリックします。これらのマージ モジュールのデバッグ バージョン用に、Microsoft_VC90_DebugCRT_x86.msm および Microsoft_VC90_DebugMFC_x86.msm を選択します。
メモ : 対応する policy*.msm モジュールがプロジェクトに組み込まれていることを確認します。たとえば、policy_9_0_microsoft_vc90_crt_x86.msm および policy_9_0_microsoft_vc90_mfc_x86.msm はそれぞれ、Microsoft_VC90_CRT_x86.msm、Microsoft_VC90_MFC_x86.msm に対応します。Visual Studio は、メイン モジュールがこれらのポリシー モジュールに依存することを検出し、[見つかった依存関係] の下にリストします。依存関係が自動的に検出されない場合は、ポリシー モジュールを手動でマージする必要があります。
64 ビット アプリケーションを 64 ビット オペレーティング システムに配置する場合は、該当するプラットフォームのマージ モジュールを選択します。x64 の場合は、Microsoft_VC90_CRT_x86_x64.msm と Microsoft_VC90_MFC_x86_x64.msm を選択します。Itanium の場合は、Microsoft_VC90_CRT_x86_ia64.msm と Microsoft_VC90_MFC_x86_ia64.msm を選択します。
setup.exe をビルドする
- [ビルド] メニューの [ソリューションのビルド] をクリックします。
setup.exe を実行する
- アプリケーションとその依存ファイルのバインディングをマニフェスト ベースで管理することのできるオペレーティング システム (Windows XP Home Edition、Windows XP Professional、Windows Server 2003) で、ビルドした setup.exe を実行すると、次の処理が実行されます。
Visual C++ ライブラリ DLL をプライベート アセンブリとして配置する処理手順
セットアップおよび配置プロジェクトを作成する
- [ファイル] メニューの [新しいプロジェクト] をクリックし、[その他のプロジェクトの種類] ノードを開きます。次に、[セットアップと配置] をクリックし、[セットアップ プロジェクト] をクリックします。名前を指定し、[OK] をクリックします。
プロジェクトに EXE と DLL を追加し、これらをインストールするターゲット コンピュータ上の場所を指定する
[プロジェクト] メニューの [追加] を選択し、[ファイル] をクリックします。
MyApplication.exe と MyLibrary.DLL を含むフォルダを検索し、両方のファイルを選択します。
[ファイル システム] ウィンドウで、[アプリケーション フォルダ] を右クリックします。次に、[追加] をポイントし、[作成] をクリックして新しいフォルダを作成します。そのフォルダに MyLibrary という名前を付けます。
[アプリケーション フォルダ] を再度クリックし、MyLibrary.DLL を選択して MyLibrary フォルダにドラッグします。ソリューション エクスプローラで、プロジェクトの下にある [見つかった依存関係] に、Visual Studio によって MFC90.dll と MSVCR90.dll への依存関係が検出されたことが表示されます。これらのアセンブリ用の対応するフォルダを \vc\redist フォルダから追加する必要があります。
メモ : デバッグ ビルドの場合は、\vc\redist\debug_nonredist を使用します。
Windows エクスプローラで、%PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86 を開きます。
Ctrl キーを押しながら、Microsoft.VC90.CRT フォルダと Microsoft.VC90.MFC フォルダをクリックします。これらのフォルダを Visual Studio にドラッグし、Application フォルダにドロップします。
手順 6. を繰り返します。ただし、今回はフォルダを MyLibrary フォルダにドラッグします。
マージ モジュールの一部である DLL が含まれていることを示す Visual Studio メッセージが表示される場合があります。このメッセージが該当する場合は、[いいえ] をクリックして、この DLL 用の MSM を使用しないことを指定します。
mfcm90.dll とその Unicode バージョンである mfcm90u.dll は、MFC/Winforms 統合を使用する場合にのみ必要です。それ以外の場合は、これらの DLL をセットアップから削除できます。
msvcm90.dll は、アプリケーションでマネージ コードを使用する場合にのみ必要です。たとえば、/clr または /clr:pure を使用してプロジェクトをビルドする場合です。
セットアップ プロジェクトに mfcm90.dll、mfcm90u.dll、または msvcm90.dll を含める場合は、.NET Framework がインストールされている必要があります。ターゲット コンピュータに .NET Framework 2.0 がインストールされていないと、セットアップが実行されません。
デバッグ インストールの場合は、前の手順の CRT を DebugCRT に、MFC を DebugMFC に読み替えてください。
64 ビット アプリケーションを 64 ビット オペレーティング システムに配置する場合は、\vc\redist\amd64 または \vc\redist\ia64 を使用します。
setup.exe をビルドする
- [ビルド] メニューの [ソリューションのビルド] をクリックします。
setup.exe を実行する
マニフェスト ベースのバインディングをサポートするオペレーティング システム (Windows XP Home Edition、Windows XP Professional、Windows Server 2003) で、ビルドした setup.exe を実行すると、次の処理が実行されます。
指定されたターゲット コンピュータにアプリケーションがインストールされます。
アプリケーションと DLL は、実行時に Microsoft.VC90.CRT および Microsoft.VC90.MFC フォルダから CRT および MFC アセンブリを使用します。
マニフェスト ベースのバインディングをサポートしていないオペレーティング システム (Windows 2000) では、この配置方法を使用しないことをお勧めします。前のステップに従って Visual Studio アセンブリをそれらのオペレーティング システムにプライベート アセンブリとして配置しようとしても、オペレーティング システム ローダーは CRT および MFC DLL を見つけることができません。ローダーがこのアセンブリを見つけることができるようにするために、Microsoft.VC90.CRT および Microsoft.VC90.MFC を格納するフォルダを PATH 環境変数に追加する必要があります。このモードでは、次のことが行われます。
指定されたターゲット コンピュータにアプリケーションがインストールされます。
システム ローダーは、実行時に PATH 環境変数によって Microsoft.VC90.CRT および Microsoft.VC90.MFC フォルダから CRT および MFC プライベート アセンブリの位置を解決します。