方法 : アプリケーション マニフェスト アセンブリのパスをプログラムで更新する (2003 システム)

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

Microsoft Office のバージョン

  • Microsoft Office 2003

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Visual Studio Tools for Office ランタイムのオブジェクト モデルを使用して、ドキュメント レベルのカスタマイズの一部であるドキュメントに埋め込まれたアプリケーション マニフェストをプログラムで更新できます。

アセンブリへのパスを変更する場合は、新しいアプリケーション マニフェストを作成し、古いパスを持つものと置換する必要があります。アセンブリへのパスの中では、%ProgramFiles% や %UserProfile% などの環境変数を使用できます。

オブジェクト モデルを操作するためのコードを、(Visual Studio Tools for Office ソリューションではなく) コンソール アプリケーションや Windows フォーム プロジェクトなどの新しいプロジェクトに含める必要があります。Visual Studio Tools for Office には、埋め込まれたアプリケーション マニフェストを編集するために使用するツールを作成する方法を示す例が用意されています。詳細については、「ServerDocument サンプル」を参照してください。

サーバー上の XML ファイルの変更を伴う、マニフェスト更新用のモデルもあります。詳細については、「方法 : ドキュメント レベルのカスタマイズの場所を変更する (2003 システム)」を参照してください。

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

このトピックは、アプリケーション レベルのアドインには当てはまりません。アプリケーション レベルのアドインでは、埋め込まれたアプリケーション マニフェストを使用しないためです。アドイン アセンブリへのパスを変更するには、テキスト エディタを使用して、クライアント コンピュータ上のアプリケーション マニフェストを更新します。詳細については、「Office ソリューション用アプリケーション マニフェスト (2003 システム)」を参照してください。アプリケーション レベルのアドインおよびドキュメント レベルのカスタマイズの詳細については、「ドキュメント レベルのカスタマイズのアーキテクチャ」を参照してください。

アセンブリへのパスをプログラムで変更するには

  1. Microsoft.VisualStudio.Tools.Office.Runtime.v9.0 への参照がない場合は、これをオブジェクト モデル操作プロジェクトに追加します。

  2. ランタイムの Imports ステートメントまたは using ステートメントを、コード ファイルの先頭に追加します。

    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  3. ServerDocument クラスの静的な AddCustomization メソッドを呼び出し、必要な引数を渡します。最初に、RemoveCustomization メソッドを呼び出し、既存の Visual Studio Tools for Office カスタマイズをドキュメントから削除する必要があります。そうしないと、AddCustomizationInvalidOperationException をスローします。

    Dim solutionDocument As String = "C:\Documents\ExcelApplication.xls"
    Dim assemblyName As String = "ExcelApplication.dll"
    Dim manifestPath As String = "\\serversame\deployshare\ExcelApplication.application"
    Dim applicationVersion As String = "1.0.0.1"
    
    If ServerDocument.IsCustomized(solutionDocument) Then
        ServerDocument.RemoveCustomization(solutionDocument)
    End If
    
    ServerDocument.AddCustomization( _
        solutionDocument, assemblyName, manifestPath, _
        applicationVersion, False)
    
    string solutionDocument = @"C:\Documents\ExcelApplication.xls";
    string assemblyName = "ExcelApplication.dll";
    string manifestPath = @"\\servername\deployshare\ExcelApplication.application";
    string applicationVersion = "1.0.0.1";
    
    if (ServerDocument.IsCustomized(solutionDocument))
    {
        ServerDocument.RemoveCustomization(solutionDocument);
    }
    
    ServerDocument.AddCustomization(
        solutionDocument, assemblyName, manifestPath, 
        applicationVersion, false);
    

参照

処理手順

方法 : 配置マニフェストのパスをプログラムで変更する (2003 システム)

方法 : マネージ コード拡張機能をドキュメントから削除する (2003 システム)

概念

Office ソリューションにおけるアプリケーション マニフェストと配置マニフェスト

Office ソリューションの配置 (2003 システム)

参照

Office ソリューション用アプリケーション マニフェスト (2003 システム)

Office ソリューション用配置マニフェスト (2003 システム)