次の方法で共有


方法 : セットアップおよび配置プロジェクトを配置する

更新 : 2007 年 11 月

このトピックでは、主にセットアップおよび配置プロジェクトというプロジェクト タイプについて説明します。この配置方法の背景については、「配置のシナリオ例」を参照してください。

Visual C++ ライブラリ DLL を共有アセンブリとして配置する処理手順

セットアップおよび配置プロジェクトを作成する

  • [ファイル] メニューの [新しいプロジェクト] をクリックし、[その他のプロジェクトの種類] ノードを開きます。次に、[セットアップと配置] をクリックし、[セットアップ プロジェクト] をクリックします。名前を入力し、[OK] をクリックします。

    ms235317.alert_note(ja-jp,VS.90).gifメモ :

    Visual C++ Express では、セットアップ プロジェクトはサポートされません。Visual C++ Express でビルドしたアプリケーションと一緒に、Visual C++ ライブラリを再頒布するには、Visual C++ 再頒布可能パッケージを利用してください。詳細については、「方法 : XCopy を使用して配置する」を参照してください。

プロジェクトに EXE と DLL を追加し、これらをインストールするターゲット コンピュータ上の場所を指定する

  1. [プロジェクト] メニューの [追加] を選択し、[ファイル] をクリックします。

  2. MyApplication.exe と MyLibrary.DLL を含むフォルダを検索し、両方のファイルを選択します。

  3. [ファイル システム] ウィンドウで、[アプリケーション フォルダ] を右クリックします。次に、[追加] をポイントし、[作成] をクリックして新しいフォルダを作成します。そのフォルダに MyLibrary という名前を付けます。

  4. [アプリケーション フォルダ] を再度クリックし、MyLibrary.DLL を選択して MyLibrary フォルダにドラッグします。ソリューション エクスプローラで、プロジェクトの下にある [見つかった依存関係] に、Visual Studio によって MFC90.dll と MSVCR90.dll への依存関係が検出されたことが表示されます。これらの DLL に対応するマージ モジュールを追加する必要があります。

  5. [プロジェクト] メニューの [追加] をポイントし、[マージ モジュール] をクリックします。Microsoft_VC90_CRT_x86.msm および Microsoft_VC90_MFC_x86.msm を選択し、[OK] をクリックします。これらのマージ モジュールのデバッグ バージョン用に、Microsoft_VC90_DebugCRT_x86.msm および Microsoft_VC90_DebugMFC_x86.msm を選択します。

    ms235317.alert_note(ja-jp,VS.90).gifメモ :

    対応する 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 を追加し、これらをインストールするターゲット コンピュータ上の場所を指定する

  1. [プロジェクト] メニューの [追加] を選択し、[ファイル] をクリックします。

  2. MyApplication.exe と MyLibrary.DLL を含むフォルダを検索し、両方のファイルを選択します。

  3. [ファイル システム] ウィンドウで、[アプリケーション フォルダ] を右クリックします。次に、[追加] をポイントし、[作成] をクリックして新しいフォルダを作成します。そのフォルダに MyLibrary という名前を付けます。

  4. [アプリケーション フォルダ] を再度クリックし、MyLibrary.DLL を選択して MyLibrary フォルダにドラッグします。ソリューション エクスプローラで、プロジェクトの下にある [見つかった依存関係] に、Visual Studio によって MFC90.dll と MSVCR90.dll への依存関係が検出されたことが表示されます。これらのアセンブリ用の対応するフォルダを \vc\redist フォルダから追加する必要があります。

    ms235317.alert_note(ja-jp,VS.90).gifメモ :

    デバッグ ビルドの場合は、\vc\redist\debug_nonredist を使用します。

  5. Windows エクスプローラで、%PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86 を開きます。

  6. Ctrl キーを押しながら、Microsoft.VC90.CRT フォルダと Microsoft.VC90.MFC フォルダをクリックします。これらのフォルダを Visual Studio にドラッグし、Application フォルダにドロップします。

  7. 手順 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 を実行する

  1. マニフェスト ベースのバインディングをサポートするオペレーティング システム (Windows XP Home Edition、Windows XP Professional、Windows Server 2003) で、ビルドした setup.exe を実行すると、次の処理が実行されます。

    • 指定されたターゲット コンピュータにアプリケーションがインストールされます。

    • アプリケーションと DLL は、実行時に Microsoft.VC90.CRT および Microsoft.VC90.MFC フォルダから CRT および MFC アセンブリを使用します。

  2. マニフェスト ベースのバインディングをサポートしていないオペレーティング システム (Windows 2000) では、この配置方法を使用しないことをお勧めします。前のステップに従って Visual Studio アセンブリをそれらのオペレーティング システムにプライベート アセンブリとして配置しようとしても、オペレーティング システム ローダーは CRT および MFC DLL を見つけることができません。ローダーがこのアセンブリを見つけることができるようにするために、Microsoft.VC90.CRT および Microsoft.VC90.MFC を格納するフォルダを PATH 環境変数に追加する必要があります。このモードでは、次のことが行われます。

    • 指定されたターゲット コンピュータにアプリケーションがインストールされます。

    • システム ローダーは、実行時に PATH 環境変数によって Microsoft.VC90.CRT および Microsoft.VC90.MFC フォルダから CRT および MFC プライベート アセンブリの位置を解決します。

参照

処理手順

方法 : XCopy を使用して配置する

概念

配置例