Windows インストーラを使用して Visual Studio 2005 Tools for Office Second Edition ソリューションを配置する: ウォークスルー (Part 2 of 2)

  

Darryn Lavery、Microsoft Corporation
Lubo Birov、Microsoft Corporation
McLean Schofield、Microsoft Corporation
Brian A. Randell、MCW Technologies, LLC (英語)

2007 年 3 月発行
2007 年 8 月更新
日本語版最終更新日 2007 年 12 月 5 日

適用対象:
   Microsoft Visual Studio 2008 Beta 2
   2007 Microsoft Office System
   Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System
   Microsoft Visual Studio 2005
   Microsoft Visual Studio 2005 Tools for the Microsoft Office System
   Microsoft Office 2003

OfficeVSTO2005SEWindowsInstallerV2.msi (英語) をダウンロードする

要約: Visual Studio 2005 のセットアップ プロジェクトを使用して Windows インストーラのパッケージを作成するMicrosoft Visual Studio 2005 Tools for the 2007 Microsoft Office System ソリューションの配置に関する 2 つのウォークスルーを紹介します。

目次

概要
ウォークスルー: Outlook アドインのセットアップ プロジェクトを拡張する
ウォークスルー: Windows インストーラ パッケージを作成して Visual Studio 2005 Tools for Office SE ソリューションを配置する
まとめ
追加情報

概要

この第 2 部では、Visual Studio 2005 のセットアップ プロジェクトを使用して Windows インストーラのパッケージを作成する Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System (Visual Studio 2005 Tools for Office Second Edition または VSTO 2005 SE) ソリューションを配置する方法を説明したウォークスルーを 2 つ紹介します。これらのウォークスルーは、Microsoft Visual Studio 2008 Beta 2 で作成した Microsoft Office 2003 のプロジェクトにも適用できます。

メモ:   これらのウォークスルーは、2007 Microsoft Office System のアプリケーションに基づいた Visual Studio 2008 のプロジェクトには適用できませんが、代わりに ClickOnce 配置テクノロジを使用します。

1 つ目のウォークスルーでは、VSTO 2005 SE を使用して作成した Microsoft Office Outlook 2003 または 2007 のアドインを拡張して、必須コンポーネントをインストールしたり、カスタマイズ アセンブリに信頼を付与したりできる方法を説明しています。この方法は、Office 2003 または 2007 リリースの VSTO 2005 SE で作成できるアドインの、すべての種類に適用できます。

2 つ目のウォークスルーでは、エンドツーエンドの手順を紹介して、Microsoft Office Excel 2003 またはMicrosoft Office Word 2003 ソリューション用の Windows インストーラ パッケージを作成します。VSTO 2005 SE は、Microsoft Office の 2003 および 2007 リリースに、アプリケーションレベルでのアドイン サポートを追加します。2007 リリースのドキュメント作成ソリューションに対する、新しいサポートは提供していません。ただし、Office 2003 のドキュメント ソリューションを、Microsoft Office Word 2007 または Microsoft Office Excel 2007 で実行することはできます。

重要:   このウォークスルーを始める前に、「Windows インストーラを使用して Visual Studio 2005 Tools for Office Second Edition ソリューションを配置する (Part 1 of 2)」に記載されている指示を読んで、実行してください。

ウォークスルー: Outlook アドインのセットアップ プロジェクトを拡張する

このセクションでは、Outlook アドイン プロジェクトを作成するときに Visual Studio で定義するセットアップ プロジェクトを拡張する方法について説明します。ここで説明する手順の実行方法は、次のとおりです。

  • 必須コンポーネント (VSTO 2005 SE ランタイム、およびオプションで Visual Studio 2005 Tools for Office Language Pack) をインストールするようにセットアップ プロジェクトを変更する。
  • セットアップ プロジェクトにステップを追加して、カスタマイズ アセンブリにセキュリティの信頼を付与する。
  • Windows インストーラ (.msi) ファイルに起動条件を追加して、必須コンポーネントがインストールされない場合にインストールを防ぐ。

プロジェクトを作成する

この手順では、Outlook 2003 アドインのプロジェクトを Visual C# で作成します。

メモ:   ここに示す手順は Outlook 2003 だけでなく、対応済みの VSTO 2005 SE ホスト アプリケーションすべてに適用できます。

新しい Outlook 2003 アドインのプロジェクトを作成するには

  1. Visual Studio の [ファイル] メニューで [新しいプロジェクト] をクリックします。
  2. [新しいプロジェクト] ダイアログ ボックスの [プロジェクトの種類] で [Visual C#] を展開し、[Office] を展開して、[2003 アドイン] を選択します。
  3. [テンプレート] リストで、[Outlook アドイン] を選択します。
  4. [プロジェクト名] ボックスに、OutlookAddin と入力します。
  5. [ソリューション用のディレクトリを作成] がオンになっていることを確認し、[OK] をクリックします。
    Visual Studio のデザイナに新しい Outlook アドインが開き、OutlookAddin およびセットアップ プロジェクトが [ソリューション エクスプローラ] に追加されます。

アセンブリに署名する

この後半では、厳密な名前と場所に基づいて、カスタマイズ アセンブリに信頼を付与しますが、最初にアセンブリに署名する必要があります。

アセンブリに署名するには

  1. [ソリューション エクスプローラ] で [OutlookAddin] を右クリックし、[プロパティ] をクリックします。
  2. [署名] タブをクリックします。
  3. [アセンブリの署名] チェック ボックスをオンにします。
  4. [厳密な名前のキー ファイルを選択してください] リストで [<新規作成. . .>] をクリックします。
  5. [キー ファイル] ボックスに、名前 OutlookAddin を入力します。
  6. [パスワードの入力] ボックスと [パスワードの確認入力] ボックスにパスワードを入力します。
  7. [OK] をクリックします。
  8. [プロパティ] ページを閉じます。

アドインにコードを追加する

このステップでは、Outlook アドインの ThisAddIn_Startup イベント ハンドラに、メッセージ ボックスを追加します。これにより、Outlook の起動時にソリューションが動作していることを確認できます。

初期化イベントにメッセージ ボックスを追加するには

  1. [ソリューション エクスプローラ] で [ThisAddIn.cs] を右クリックし、[コードの表示] をクリックします。
  2. 次のコードを ThisAddIn クラス内の ThisAddin_Startup イベント ハンドラに追加して、初期化の間にメッセージ ボックスを表示します。
    private void ThisAddin_Startup(object sender, System.EventArgs e)
    {
        MessageBox.Show(
            "The Outlook add-in has been deployed successfully.");
    }
    
  3. F5 キーを押してプロジェクトを実行します。
    Outlook が起動し、メッセージ ボックスが表示されます。
  4. メッセージ ボックスを閉じます。
  5. Outlook を終了します。

セットアップ プロジェクトに必須コンポーネントを追加する

ブートストラップがインストールする必須コンポーネントを追加します。起動条件の追加については、後のステップで説明します。

必須コンポーネントを追加するには

  1. [ソリューション エクスプローラ] で [OutlookAddinSetup] を右クリックし、[プロパティ] をクリックします。
  2. [プロパティ ページ] ダイアログ ボックスで [必須コンポーネント] をクリックします。
  3. 必須コンポーネントの一覧から、次の項目を選択します。
    1. Microsoft Office 2003 Primary Interop Assemblies
    2. 2007 Microsoft Office Primary Interop Assemblies
    3. Microsoft Visual Studio 2005 Tools for Office SE Runtime
  4. ソリューションを実行するユーザーの中に、Windows の設定を英語以外にしているユーザーがいる場合は、[Microsoft Visual Studio 2005 Tools for Office Runtime Language Pack] を選択します。Visual Studio 2005 Tools for Office Language Pack がないと、これらのユーザーは、ランタイムのメッセージを Windows と同じ言語で表示できません。
  5. [OK] を 2 回クリックします。

カスタム動作を追加してアセンブリに信頼を付与する

用意されたカスタム動作のサンプルを使用して、カスタマイズ アセンブリに信頼を付与します。

用意されたプロジェクトを追加するには

  1. Windows エクスプローラを使用して、SetSecurity プロジェクトを {SamplesDir}\projects ディレクトリから OutlookAddin ソリューションが格納されているディレクトリにコピーします。
    ヒント:   既定では、{SamplesDir} ディレクトリは C:\Program Files\Microsoft Visual Studio 2005 Tools for Office SE Resources\VSTO2005SE Windows Installer Sample Version2\ です。
  2. [ソリューション エクスプローラ] で [OutlookAddin] を右クリックします。
  3. ショートカット メニューで [追加] をポイントし、[既存のプロジェクト] をクリックします。
  4. [SetSecurity] プロジェクトを選択します。
  5. [OK] をクリックします。
  6. [ソリューション エクスプローラ] で [SetSecurity] プロジェクトを右クリックし、[ビルド] をクリックします。

カスタム動作プロジェクトのプライマリ出力をセットアップ プロジェクトに追加するには

  1. [ソリューション エクスプローラ]で [OutlookAddinSetup] を右クリックします。
  2. ショートカット メニューで [表示] をポイントし、[カスタム動作] をクリックします。
  3. カスタム動作エディタで [カスタム動作] を右クリックし、[カスタム動作の追加] をクリックします。
  4. [検索対象] リストで [アプリケーション フォルダ] をクリックし、[出力の追加] をクリックします。
    [プロジェクト出力グループの追加] ダイアログ ボックスが開きます。
  5. [プロジェクト] リストで [SetSecurity] をクリックします。
  6. 出力の種類の一覧から [プライマリ出力] を選択し、[OK] をクリックします。
  7. セットアップ プロジェクトのプライマリ出力の一覧に [SetSecurity (アクティブ) のプライマリ出力] が追加されていることを確認します。
    これにより、アプリケーション マニフェストを編集するカスタム動作を Windows インストーラ ファイルで実行できるようになります。

Install メソッドのカスタム動作データを追加するには

  1. カスタム動作エディタで [インストール] を展開します。
  2. [SetSecurity (アクティブ) のプライマリ出力] を右クリックし、[プロパティ ウィンドウ] をクリックします。
  3. [プロパティ] ウィンドウで、[CustomActionData] プロパティに次の文字列を設定します。これを 1 つの長い文字列として入力し、MyCompanyName の部分を使用するコンピュータの名前に変更します。
    /assemblyName="OutlookAddin.dll" /targetDir="[TARGETDIR]\"
       /solutionCodeGroupName="MyCompanyName.OutlookAddin"
       /solutionCodeGroupDescription="Code group for OutlookAddin"
       /assemblyCodeGroupName="OutlookAddin"
       /assemblyCodeGroupDescription="Code group for OutlookAddin"
       /allUsers=[ALLUSERS]
    
ヒント:   企業名に空白文字が含まれていても、余分に引用符を付ける必要はありません。

Rollback メソッドのカスタム動作データを追加するには

  1. カスタム動作エディタで [ロールバック] を展開します。
  2. [SetSecurity (アクティブ) のプライマリ出力] を右クリックし、[プロパティ ウィンドウ] をクリックします。
  3. [プロパティ] ウィンドウで、[CustomActionData] プロパティに次の文字列を設定します。
    /solutionCodeGroupName="MyCompanyName.OutlookAddin"
    

Uninstall メソッドのカスタム動作データを追加するには

  1. カスタム動作エディタで [アンインストール] を展開します。
  2. [SetSecurity (アクティブ) のプライマリ出力] を右クリックし、[プロパティ ウィンドウ] をクリックします。
  3. [プロパティ] ウィンドウで、[CustomActionData] プロパティに次の文字列を設定します。
    /solutionCodeGroupName="MyCompanyName.OutlookAddin"
    
メモ:   カスタム動作で Commit メソッドを上書きしていませんが、Windows の Installer 基本クラスによって実装が提供されています。そのため、このままでもメソッドを呼び出すことができます。ただし、そのメソッドに、カスタム動作データは必要ありません。

Windows インストーラ ファイルに起動条件を追加する

ユーザーが Setup.exe を実行すると、Windows インストーラは必須コンポーネントをチェックし、必要に応じてそれらをインストールします。または、ユーザーが .msi ファイルをダブルクリックして、ソリューションをインストールすることもできます。その場合、必須コンポーネントはインストールされず、ソリューションは実行できません。それ以外にも、必要なリソースが存在しないために、Setup が失敗する可能性があります。たとえば、カスタム動作には .NET Framework が必要な場合があります。

このセクションでは、起動条件エディタを使用して .msi ファイルに起動条件を追加し、特定の依存関係がインストールされなければインストールされないという方法を説明します。

起動条件エディタを表示するには

  1. [ソリューション エクスプローラ]で [OutlookAddinSetup] を右クリックします。
  2. ショートカット メニューで [表示] をポイントし、[起動条件] をクリックします。

VSTO 2005 SE ランタイムの起動条件を追加する

VSTO 2005 SE ランタイムの起動条件を追加するには

  1. 起動条件エディタで [対象コンピュータ上の必要条件] を右クリックし、[レジストリ起動条件の追加] をクリックします。
  2. 新しく追加された検索条件、[RegistryEntry1 の検索] を選択します。
  3. この検索条件の名前を Search for VSTO 2005 SE Runtime に変更します。
  4. [プロパティ] ウィンドウで、Property の値を VSTORTVERSION に変更します。
  5. また、[プロパティ] ウィンドウで、RegKey の値を次の文字列に変更します。
    Software\Microsoft\vsto runtime Setup\v2.0.50727
    
  6. Root プロパティの設定は vsdrrHKLM のままにして、Value プロパティを Update に変更します。
  7. 新しく追加された起動条件、Condition1 を選択します。
  8. この名前を Display message if the Visual Studio 2005 Tools for Office SE Runtime is not installed に変更します。
  9. [プロパティ] ウィンドウで、Condition プロパティの値を次の文字列に変更します。
    VSTORTVERSION >= "#2"
    
  10. InstallURL プロパティは空白のままにしておきます。
  11. Message プロパティの値を The Visual Studio 2005 Tools for Office SE Runtime is not installed. Please run Setup.exe に変更します。

ソリューションを実行するユーザーの中に、Windows の設定を英語以外にしているユーザーがいる場合は、Visual Studio 2005 Tools for Office Language Pack が必要です。これがないと、ランタイムのメッセージを Windows と同じ言語で表示できません。起動条件を追加して、Language Pack をチェックします。

Visual Studio 2005 Tools for Office Language Pack の起動条件を追加するには

  1. 起動条件エディタで [対象コンピュータ上の必要条件] を右クリックし、[Windows インストーラ起動条件の追加] をクリックします。
  2. 新しく追加された検索条件、Search for Component1 を選択します。
  3. この検索条件の名前を Search for VSTO Language Pack に変更します。
  4. [プロパティ] ウィンドウの ComponentId プロパティに、次の GUID を入力します。
    {2E3A394E-C9BD-40C3-9990-BA7AF7C8B4AF}
  5. Property の値を COMPONENTEXISTS_VSTOLP に変更します。
  6. 新しく追加された起動条件、(Condition1) を選択します。
  7. この名前を Display message if the Visual Studio 2005 Tools for Office Language Pack is not installed に変更します。
  8. [プロパティ] ウィンドウで、Condition プロパティの値を COMPONENTEXISTS_VSTOLP に変更します。
  9. InstallURL プロパティは空白のままにしておきます。
  10. Message プロパティの値を The Visual Studio 2005 Tools for Office Language Pack is not installed. Please run Setup.exe に変更します。

VSTO 2005 SE ランタイムおよび Visual Studio 2005 Tools for Office Language Pack の起動条件を作成したときには、必ず [対象コンピュータ上の必要条件] ノードを右クリックしてください。これにより、検索条件と対応する起動条件が作成されます。

インストールをテストする

Windows インストーラをテストする場合は、インストーラを開発用のコンピュータ以外で実行します。開発用のコンピュータには、多くの必須コンポーネントが既にインストールされているためです。ブートストラップのテストは、Setup.exe ファイルを実行して行います。最初にセットアップ プロジェクトを構築することを忘れないでください。

セットアップ プロジェクトを構築するには

  • [ソリューション エクスプローラ] で [OutlookAddinSetup] プロジェクトを右クリックし、[ビルド] をクリックします。

ウォークスルー: Windows インストーラ パッケージを作成して Visual Studio 2005 Tools for Office SE ソリューションを配置する

このセクションでは、Excel または Word ドキュメント ベースのソリューション向けに、Windows インストーラ パッケージを作成する方法を説明します。この例は Excel のソリューションを配置する方法になっていますが、Word のソリューションを配置する場合も、同じステップを使用できます。このウォークスルーを実行するには、開発コンピュータには、VSTO 2005 SE と Office 2003 をインストールしておく必要があります。また、ソリューションは Office 2007 をインストールしてあるコンピュータにインストールすることもできます。

このウォークスルーでは、次の手順の実行方法を説明します。

  • ブートストラップおよび Windows インストーラ パッケージの構築に使用できる、セットアップ プロジェクトを作成する。
  • Windows インストーラ ファイルにより VSTO 2005 SE ソリューションをインストールできるように、セットアップ プロジェクトを変更する。
  • 必須コンポーネントを追加する。
  • カスタム動作を追加して、カスタマイズ アセンブリに信頼を付与する。
  • カスタム動作を追加して、ソリューション ドキュメントに埋め込まれるアプリケーション マニフェストを編集する。

プロジェクトを作成する

このステップでは、Excel ブックのプロジェクトを Visual C# で作成します。

新しいプロジェクトを作成するには

  1. Excel ブックのプロジェクトを Visual C# で作成し、名前を ExcelApplication にします。
  2. [新規ドキュメントの作成] を選択しているかどうか、確認します。
    Visual Studio のデザイナに新しい Excel ブックが開き、ExcelApplication プロジェクトがソリューション エクスプローラに追加されます。

アセンブリに署名する

この後半では、厳密な名前とアセンブリの場所に基づいて、カスタマイズ アセンブリに信頼を付与しますが、最初に、アセンブリに署名する必要があります。

アセンブリに署名するには

  1. [ソリューション エクスプローラ]で [ExcelApplication] を右クリックし、[プロパティ] をクリックします。
  2. [署名] タブをクリックします。
  3. [アセンブリの署名] チェック ボックスをオンにします。
  4. [厳密な名前のキー ファイルを選択してください] リストで [<新規作成. . .>] をクリックします。
  5. [厳密な名前キーの作成] ボックスに、ExcelApplication と入力します。
  6. [パスワードの入力] ボックスと [パスワードの確認入力] ボックスにパスワードを入力します。
  7. [OK] をクリックします。
  8. [プロパティ] ページを閉じます。

ブックに分離コードを追加する

このステップでは、ブックの Microsoft.Office.Tools.Excel.Workbook.Startup イベント ハンドラに、メッセージ ボックスを追加します。これにより、ドキュメントを開いたときにソリューションが動作していることを確認できます。

初期化イベントにメッセージ ボックスを追加するには

  1. [ソリューション エクスプローラ] で ThisWorkbook.cs を右クリックし、[コードの表示] をクリックします。
  2. 次のコードを ThisWorkbook クラス内の ThisWorkbook_Startup イベント ハンドラに追加して、初期化の間にメッセージ ボックスを表示します。
    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
      MessageBox.Show("The document has been deployed successfully.");
    }
    
  3. F5 キーを押してプロジェクトを実行します。
    Excel が起動し、メッセージ ボックスが表示されます。
  4. メッセージ ボックスを閉じて、Excel を終了します。

セットアップ プロジェクトを作成する

この手順で作成するセットアップ プロジェクトをコンパイルすると、ソリューションの Windows インストーラ ファイルを作成できます。

ソリューション用にセットアップ プロジェクトを作成するには

  1. [ソリューション エクスプローラ] で [ソリューション] を右クリックし、[追加] をポイントして、[新しいプロジェクト] をクリックします。
    [新しいプロジェクトの追加] ダイアログ ボックスが表示されます。
  2. [プロジェクトの種類] ペインで [その他のプロジェクトの種類] を展開し、[セットアップと配置] を選択します。
  3. [テンプレート] ペインで [セットアップ プロジェクト] を選択します。
  4. プロジェクトの名前を ExcelApplicationSetup にします。
  5. [OK] をクリックします。

[ソリューション エクスプローラ] にセットアップ プロジェクトが表示されます。既定では、このセットアップ プロジェクトを使用して構築した Windows インストーラ ファイルには、ユーザーがソリューションのインストール場所を指定できるようにするダイアログ ボックスが含まれています。

セットアップ プロジェクトにブックとソリューションのアセンブリを追加する

このステップでは、ExcelApplication プロジェクトのプライマリ出力をセットアップ プロジェクトに追加します。ExcelApplication プロジェクトのプライマリ出力は、ブックとソリューションのアセンブリで構成されています。

セットアップ プロジェクトにブックとアセンブリを追加するには

  1. [ソリューション エクスプローラ] で [ExcelApplicationSetup] を右クリックします。
  2. ショートカット メニューで [表示] をポイントし、[ファイル システム] をクリックします。
  3. 左のペインで [アプリケーション フォルダ] クリックします。
  4. ショートカット メニューで [追加] をポイントし、[プロジェクトの出力] をクリックします。
  5. [プロジェクト] ボックスで [ExcelApplication] を選択します。
  6. 出力の種類の一覧で、[プライマリ出力] を選択します。
  7. [OK] をクリックします。
    プロジェクトの出力と依存関係が右のペインに表示されます。

プロジェクトのプライマリ出力をセットアップ プロジェクトに追加すると、Visual Studio により依存関係が検出されます。これらの依存関係は、DLL 別に一覧表示できます。次に、これらの DLL の依存関係を除外します。これらの DLL は、必須コンポーネント パッケージに含まれ、そのパッケージは後で依存関係として追加するためです。

DLL の依存関係を除外するには

  1. [ソリューション エクスプローラ] の [ExcelApplicationSetup] ノードで、[見つかった依存関係] を展開します。
  2. [Microsoft .NET Framework] を除くすべての依存関係を右クリックしてから、[除外] をクリックします。

セットアップ プロジェクトに必須コンポーネントを追加する

このステップでは、既に「Windows インストーラを使用して Visual Studio 2005 Tools for Office Second Edition ソリューションを配置する (Part 1 of 2)」で説明した開発環境が整っているものと仮定しています。

セットアップ プロセスの起動方法は、2 通りあります。

  • Setup.exe
    Setup.exe を実行すると、最初にブートストラップが実行されます。ブートストラップはアプリケーションに必要な必須コンポーネントの一覧を調べ、必要に応じてこれらをインストールします。必須コンポーネントのインストールが終了すると、実際にアプリケーションのインストールを行う .msi ファイルが処理されます。
    重要:   これらの必須コンポーネントをインストールするには、ユーザーには管理者権限が必要です。権限がない場合は、別の配置方法、たとえばグループ ポリシーやシステム管理ソフトウェア (SMS) などを考慮する必要があります。
  • .msi ファイル
    この実行可能ファイルを起動すると、ブートストラップは実行されず、必須コンポーネントもインストールされません。ただし、必須コンポーネントが存在しない場合にインストールしないという起動条件を追加することができます。

ブートストラップがインストールする必須コンポーネントを追加します。起動条件は、後のステップで追加します。

必須コンポーネントを追加するには

  1. [ソリューション エクスプローラ] で [ExcelApplicationSetup] を右クリックします。
  2. [プロパティ] をクリックします。
  3. [プロパティ ページ] ダイアログ ボックスで [必須コンポーネント] をクリックします。
  4. 必須コンポーネントの一覧から、次の項目を選択します。
    • Microsoft Office 2003 Primary Interop Assemblies
    • 2007 Microsoft Office Primary Interop Assemblies
    • Microsoft Visual Studio Tools for Office SE Runtime
  5. ソリューションを実行するユーザーの中に、Windows の設定を英語以外にしているユーザーがいる場合は、[Microsoft Visual Studio 2005 Tools for Office Runtime Language Pack] を選択します。
    Visual Studio 2005 Tools for Office Language Pack がないと、これらのユーザーは、ランタイムのメッセージを Windows と同じ言語で表示できません。
  6. [OK] を 2 回クリックします。

カスタム動作を追加してアセンブリに信頼を付与する

Visual Studio Tools for Office ソリューションを実行する場合、事前にカスタマイズ アセンブリが FullTrust 許可を持っている必要があります。付属のソース コードに含まれているサンプルのカスタム動作では、ユーザーのコンピュータにインストールされるアセンブリに許可を与える方法を示しています。

カスタム動作プロジェクトをソリューションに追加するには

  1. Windows エクスプローラを使用して、SetSecurity プロジェクトを {SamplesDir}\projects ディレクトリから ExcelApplication ソリューションが格納されているディレクトリにコピーします。
    ヒント:   既定では、{SamplesDir} ディレクトリは C:\Program Files\Microsoft Visual Studio 2005 Tools for Office SE Resources\VSTO2005SE Windows Installer Sample Version2\ です。
  2. [ソリューション エクスプローラ] で [ExcelApplication] を右クリックします。
  3. ショートカット メニューで [追加] をポイントし、[既存のプロジェクト] をクリックします。
  4. [SetSecurity] プロジェクトを選択します。
  5. [OK] をクリックします。
  6. [ソリューション エクスプローラ] で [SetSecurity] プロジェクトを右クリックし、[ビルド] をクリックします。

カスタム動作プロジェクトのプライマリ出力をセットアップ プロジェクトに追加するには

  1. [ソリューション エクスプローラ] で [ExcelApplicationSetup] を右クリックします。
  2. ショートカット メニューで [表示] をポイントし、[カスタム動作] をクリックします。
  3. カスタム動作エディタで [カスタム動作] ノードを右クリックし、[カスタム動作の追加] をクリックします。
  4. [検索対象] リストで [アプリケーション フォルダ] をクリックし、[出力の追加] をクリックします。
    [プロジェクト出力グループの追加] ダイアログ ボックスが開きます。
  5. [プロジェクト] リストで [SetSecurity] をクリックします。
  6. 出力の種類の一覧で [プライマリ出力] を選択し、[OK] をクリックします。
  7. セットアップ プロジェクトのプライマリ出力の一覧に [SetSecurity (アクティブ) のプライマリ出力] があることを確認し、[OK] をクリックします。

Install メソッドのカスタム動作データを追加するには

  1. カスタム動作エディタで [インストール] を展開します。
  2. [SetSecurity (アクティブ) のプライマリ出力] を右クリックし、[プロパティ ウィンドウ] をクリックします。
  3. [プロパティ] ウィンドウで、[CustomActionData] プロパティに次の文字列を設定します。これを 1 つの長い文字列として入力し、MyCompanyName の部分を使用するコンピュータの名前に変更します。
    /assemblyName="ExcelApplication.dll" /targetDir="[TARGETDIR]\"
       /solutionCodeGroupName="MyCompanyName.ExcelApplication"
       /solutionCodeGroupDescription="Code group for ExcelApplication"
       /assemblyCodeGroupName="ExcelApplication"
       /assemblyCodeGroupDescription="Code group for ExcelApplication"
       /allUsers=[ALLUSERS]
    
ヒント:   企業名に空白文字が含まれていても、余分に引用符を付ける必要はありません。

Rollback メソッドのカスタム動作データを追加するには

  1. カスタム動作エディタで [ロールバック] を展開します。
  2. [SetSecurity (アクティブ) のプライマリ出力] を右クリックし、[プロパティ ウィンドウ] をクリックします。
  3. [プロパティ] ウィンドウで、[CustomActionData] プロパティに次の文字列を設定します。
    /solutionCodeGroupName="MyCompanyName.ExcelApplication"
    

Uninstall メソッドのカスタム動作データを追加するには

  1. カスタム動作エディタで [アンインストール] を展開します。
  2. [SetSecurity (アクティブ) のプライマリ出力] を右クリックし、[プロパティ ウィンドウ] をクリックします。
  3. [プロパティ] ウィンドウで、[CustomActionData] プロパティに次の文字列を設定します。
    /solutionCodeGroupName="MyCompanyName.ExcelApplication"
    
メモ:   カスタム動作では Commit メソッドを上書きしていませんが、Windows の Installer 基本クラスによって実装が提供されています。そのため、このままでもメソッドを呼び出すことができます。ただし、そのメソッドに、カスタム動作データは必要ありません。

カスタム動作を追加してアセンブリの場所を更新する

プロジェクトの実行に先立って F5 キーを押すと、構築処理により、アセンブリの相対パスをポイントするように、ブックに埋め込まれたアプリケーション マニフェストが編集されます。インストールの後、ブックとアセンブリのフォルダを同じにしておく場合は、埋め込まれたアプリケーション マニフェストを変更する必要はありません。また、このセクションを無視してもかまいません。ただし、インストール後にユーザーがブックを別のフォルダに移動できるようにする場合は、アプリケーション マニフェストを編集して、アセンブリの完全なパスをポイントする必要があります。これは、Excel テンプレートのプロジェクトや Word テンプレートのプロジェクトで、特に重要です。テンプレートから作成されるブックやドキュメントは、通常、テンプレートの場所とは別の場所にあるからです。

サンプルのカスタム動作は作成済みなので、このカスタム動作をセットアップ プロジェクトに追加します。

カスタム動作プロジェクトをソリューションに追加するには

  1. Windows エクスプローラを使用して、UpdateManifest プロジェクトを {SamplesDir}\projects ディレクトリから ExcelApplication ソリューションが格納されているディレクトリにコピーします。
  2. [ソリューション エクスプローラ] で [ExcelApplication] を右クリックします。
  3. ショートカット メニューで [追加] をポイントし、[既存のプロジェクト] をクリックします。
  4. [UpdateManifest] プロジェクトを選択します。
  5. [OK] をクリックします。
  6. [ソリューション エクスプローラ] で [UpdateManifest] プロジェクトを右クリックし、[ビルド] をクリックします。
  7. UpdateManifest プロジェクトのプライマリ出力をセットアップ プロジェクトに追加します。
    これにより、アプリケーション マニフェストを編集するカスタム動作を Windows インストーラ ファイルで実行できるようになります。

カスタム動作プロジェクトのプライマリ出力をセットアップ プロジェクトに追加するには

  1. [ソリューション エクスプローラ] で [ExcelApplicationSetup] を右クリックします。
  2. ショートカット メニューで [表示] をポイントし、[カスタム動作] をクリックします。
  3. カスタム動作エディタで [カスタム動作] ノードを右クリックし、[カスタム動作の追加] をクリックします。
  4. [検索対象] リストで [アプリケーション フォルダ] をクリックし、[出力の追加] をクリックします。
    [プロジェクト出力グループの追加] ダイアログ ボックスが開きます。
  5. [プロジェクト] リストで [UpdateManifest] をクリックします。
  6. 出力の種類の一覧で [プライマリ出力] を選択し、[OK] をクリックします。
  7. セットアップ プロジェクトのプライマリ出力の一覧に [UpdateManifest (アクティブ) のプライマリ出力] があることを確認し、[OK] をクリックします。
  8. 必要なカスタム動作データを追加します。
メモ:   カスタム動作では Commit メソッド、Rollback メソッド、および Uninstall メソッドを上書きしていませんが、Windows の Installer 基本クラスによって実装が提供されています。したがって、メソッドを呼び出す必要があります。ただし、それらのメソッドに、これらにカスタム動作データは必要ありません。

Install メソッドのカスタム動作データを追加するには

  1. カスタム動作エディタで [インストール] を展開します。
  2. [UpdateManifest (アクティブ) のプライマリ出力] を右クリックし、[プロパティ ウィンドウ] をクリックします。
  3. [プロパティ] ウィンドウで、[CustomActionData] プロパティに次の文字列を設定します。これを 1 つの長い文字列として入力します。
    /targetDir="[TARGETDIR]/" /documentName="ExcelApplication.xls" /assemblyName="ExcelApplication.dll"
    

.msi ファイルに起動条件を追加する

ユーザーが Setup.exe を実行すると、Windows インストーラは必須コンポーネントをチェックし、必要に応じてそれらをインストールします。または、ユーザーが .msi ファイルをダブルクリックして、ソリューションをインストールすることもできます。その場合、必須コンポーネントはインストールされず、ソリューションは実行できません。それ以外にも、必要なリソースが存在しないために、Setup が失敗する可能性があります。たとえば、カスタム動作には .NET Framework が必要な場合があります。

このセクションでは、起動条件エディタを使用して .msi ファイルに起動条件を追加し、特定の依存関係がインストールされなければインストールされないという方法を説明します。

起動条件エディタを表示するには

  1. [ソリューション エクスプローラ] で [ExcelApplicationSetup] を右クリックします。
  2. ショートカット メニューで [表示] をポイントし、[起動条件] をクリックします。
  3. Visual Studio 2005 Tools for Office ランタイムの起動条件を追加します。

VSTO 2005 SE ランタイムの起動条件を追加するには

  1. 起動条件エディタで [対象コンピュータ上の必要条件] を右クリックし、[レジストリ起動条件の追加] をクリックします。
  2. 新しく追加された検索条件、[RegistryEntry1 の検索] を選択します。
  3. この検索条件の名前を Search for VSTO 2005 SE Runtime に変更します。
  4. [プロパティ] ウィンドウで、Property の値を VSTORTVERSION に変更します。
  5. また、[プロパティ] ウィンドウで、[RegKey] の値を次の文字列に変更します。
    Software\Microsoft\vsto runtime Setup\v2.0.50727
  6. Root プロパティの設定は、vsdrrHKLM のままにしておきます。
  7. Value プロパティを Update に変更します。
  8. 新しく追加された起動条件、Condition1 を選択します。
  9. この名前を Display message if the Visual Studio 2005 Tools for Office SE Runtime is not installed に変更します。
  10. [プロパティ] ウィンドウで、Condition プロパティの値を次のように変更します。
    VSTORTVERSION >= "#2"
  11. InstallURL プロパティは空白のままにしておきます。
  12. Message プロパティの値を The Visual Studio 2005 Tools for Office SE Runtime is not installed. Please run Setup.exe に変更します。

ソリューションを実行するユーザーの中に、Windows の設定を英語以外にしているユーザーがいる場合は、Visual Studio 2005 Tools for Office Language Pack が必要です。これがないと、ランタイムのメッセージを Windows と同じ言語で表示できません。起動条件を追加して、Language Pack をチェックします。

Visual Studio 2005 Tools for Office Language Pack の起動条件を追加するには

  1. 起動条件エディタで [対象コンピュータ上の必要条件] を右クリックし、[Windows インストーラ起動条件の追加] をクリックします。
  2. 新しく追加された検索条件、Search for Component1 を選択します。
  3. この検索条件の名前を Search for VSTO Language Pack に変更します。
  4. [プロパティ] ウィンドウの ComponentId プロパティに、次の GUID を入力します。
    {2E3A394E-C9BD-40C3-9990-BA7AF7C8B4AF}
  5. Property の値を COMPONENTEXISTS_VSTOLP に変更します。
  6. 新しく追加された起動条件、(Condition1) を選択します。
  7. この名前を Display message if the Visual Studio 2005 Tools for Office Language Pack is not installed に変更します。
  8. [プロパティ] ウィンドウで、Condition プロパティの値を COMPONENTEXISTS_VSTOLP に変更します。
  9. InstallURL プロパティは空白のままにしておきます。
  10. Message プロパティの値を The Visual Studio 2005 Tools for Office Language Pack is not installed. Please run Setup.exe に変更します。

インストールをテストする

Windows インストーラをテストする場合は、インストーラを開発用のコンピュータ以外で実行します。開発用のコンピュータには、多くの必須コンポーネントが既にインストールされているためです。セットアップ プロジェクトを構築し、Setup.exe ファイルを実行して、ブートストラップをテストします。

プロジェクトを構築するには

  • [ソリューション エクスプローラ] で [ExcelApplicationSetup] プロジェクトを右クリックし、[ビルド] をクリックします。

まとめ

ここでは、Visual Studio のセットアップ プロジェクトを使用して Windows インストーラ パッケージを作成して、Microsoft Office ソリューションを配置する方法を説明しました。ウォークスルーでは、必要な必須コンポーネントをインストールする方法やカスタマイズ アセンブリに信頼を付与する方法、ドキュメントに合わせてカスタマイズ アセンブリの場所を更新する方法を示しました。

配置プロセスの概要については、「Windows インストーラを使用して Visual Studio 2005 Tools for Office Second Edition ソリューションを配置する (Part 1 of 2)」を参照してください。

追加情報

コードのセキュリティ

再頒布可能パッケージ


表示: