クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Web 開発
サーバー技術
技術文書
 Microsoft Windows SharePoint Servic...
Microsoft Windows SharePoint Services の Web パーツをパッケージ化および配置する

Suraj Poozhiyil および Jeremy Martin
Microsoft Corporation

May 2003
日本語版最終更新日 2003 年 8 月 25 日

適用対象:
    Microsoft® Windows® SharePoint™ Services
    Microsoft Office SharePoint Portal Server 2003
    Microsoft Visual Studio® .NET
    Web パーツ インフラストラクチャ

要約: Microsoft Windows SharePoint Services に付属の管理ツールを使用して Web パーツをパッケージ化および配置する方法について説明します。この記事には英語のページへのリンクも含まれています。

注: この記事の情報は、Windows SharePoint Services プラットフォーム上に構築された Microsoft Office SharePoint Portal Server 2003 にも適用されます。

目次

はじめに
Web パーツ パッケージを構築する
Web パーツ パッケージを配置する
Web パーツ パッケージを追加する
Web パーツ パッケージを削除する
Web パーツ パッケージを列挙する
スイッチ
Web パーツ パッケージをインストールする
まとめ

はじめに

Web パーツは、コンパイルされた単なるアセンブリではありません。Web パーツには、イメージ、Microsoft JScript® ファイル、ヘルプ ファイルなどのクラス リソースがある場合があります。これらのファイルは、ローカライズして、Web パーツとは異なる場所に配置することもできます。また、ユーザーが Web パーツの機能を利用するには、Web パーツを特定の仮想サーバーの SafeControl リストに追加する必要があります。

前提条件

  • Microsoft Windows SharePoint Services または Microsoft Office SharePoint Portal Server 2003、あるいはその両方の知識
  • Web パーツの作成方法に関する知識
  • Web パーツ インフラストラクチャの知識

Web パーツ パッケージを構築する

Web パーツ パッケージは、次のアイテムを含むキャビネット (.cab) ファイルです。

  1. Manifest.xml (必須)
  2. Web パーツ アセンブリ (オプション)
  3. クラス リソース ファイル (オプション)
  4. .dwp ファイル (オプション)

.cab ファイルのマニフェスト ファイルを作成する

マニフェスト ファイルは、.cab ファイルの構造とコンテンツを記述する構成ファイルであり、.cab ファイルの唯一の必須コンポーネントです。Stsadm.exe ツールはこのファイルを使用して、.cab ファイルのその他のコンテンツを配置します。

次の表は、Manifest.xml ファイル内のノードとサブノードの説明です。

ノード親ノード説明
WebPartManifestWebPartManifestXML のスキーマを定義します。
AssembliesWebPartManifest配置される各アセンブリの定義を保持します。
AssemblyAssembliesFileName 属性を使用してアセンブリ ファイル名を定義します。また、クラス リソースの定義と SafeControls リストの XML を保持します。
ClassResourcesAssembly配置される各クラス リソースの定義を保持します。
ClassResourceClassResourcesFileName 属性を使用してクラス リソース ファイル名を定義します。
SafeControlsAssemblySafeControls リスト内の XML の各行の定義を保持します。
SafeControlSafeControlsSafeControls リストの各行を定義します。
DwpFilesWebPartManifest配置される各 .dwp ファイルの定義を保持します。
DwpFileDwpFilesFileName 属性を使用して、.dwp ファイルのファイル名を定義します。

次の例に、2 つのアセンブリおよびそれらのリソースを配置するパッケージのマニフェスト ファイルを示します。

<?xml version="1.0" encoding="utf-8" ?> 
<WebPartManifest xmlns="http://schemas.microsoft.com/WebPart/v2/Manifest">
   <Assemblies>
      <Assembly FileName="WebPartLibrary1.dll">

         <ClassResources>
            <ClassResource FileName="image1.gif"/>
            <ClassResource FileName="image2.gif"/>
         </ClassResources>
         <SafeControls>
            <SafeControl Namespace="WebPartLibrary1" TypeName="*"/>

         </SafeControls>   
      </Assembly>
      <Assembly FileName="WebPartLibrary2.dll">
         <ClassResources>
            <ClassResource FileName="MyCustomHelp.htm"/>
            <ClassResource FileName="LargeIcon.gif"/>

         </ClassResources>
         <SafeControls>
            <SafeControl Namespace="WebPartLibrary2" TypeName="*"/>
         </SafeControls>   
      </Assembly>
   </Assemblies>      
   <DwpFiles>

      <DwpFile FileName="WebPart1.dwp"/>
      <DwpFile FileName="WebPart2.dwp"/>
   </DwpFiles>
</WebPartManifest>

.cab ファイルを作成する

開発者は、次のいずれかの方法で .cab ファイルを作成できます。

  • Microsoft Visual Studio .NET Professional を使用して CAB プロジェクトを作成する。
  • Microsoft Windows 2000 以降に組み込まれているコマンド ライン ツール MakeCAB.exe を使用する。

Visual Studio を使用する

Visual Studio.NET Professional を使用して CAB プロジェクトを作成するには、次の手順を実行します。

  1. Visual Studio .NET を起動します。
  2. 新しいソリューションを作成します。
    • [ファイル] メニューの [新規作成] をポイントし、[空のソリューション] をクリックします。
    • ソリューションの名前を入力し、[OK] をクリックします。
  3. このソリューションに Web パーツ プロジェクトを開きます。
    • ソリューション エクスプローラで、新しいソリューションを右クリックし、[追加] をポイントして [既存のプロジェクト] をクリックします。
    • 追加する Web パーツ プロジェクトの場所を選択してプロジェクトをクリックし、[開く] をクリックします。
  4. 新しい CAB プロジェクトを作成します。
    • ソリューション エクスプローラで、新しいソリューションを右クリックし、[追加] をポイントして [新しいプロジェクト] をクリックします。
  5. [プロジェクトの種類] で [セットアップ/デプロイメント プロジェクト] をクリックし、[テンプレート] で [CAB プロジェクト] をクリックします。
    • CAB プロジェクトの名前を入力し、[OK] をクリックします。
  6. Web パーツ プロジェクトの出力を CAB プロジェクトに追加します。
    • ソリューション エクスプローラで、CAB プロジェクトを右クリックし、[追加] をポイントして [プロジェクト出力] をクリックします。
    • [プロジェクト] ボックスで、手順 3 でソリューションに追加した Web パーツ プロジェクトをクリックします。
    • 一覧に表示されるすべての適切なファイル カテゴリを選択し、[OK] をクリックします。

    [プライマリ出力] と [コンテンツ ファイル] を必ず選択します。これらのカテゴリによって、Manifest.xml ファイル、.dwp ファイル、および Web パーツ アセンブリが .cab ファイルに追加されます。Manifest.xml ファイルおよび .dwp ファイルが、それぞれのプロパティ シート内でビルド アクションのコンテンツとしてマークされていることを確認します。

  7. ソリューションをビルドして .cab ファイルを作成します。

MakeCAB.exe を使用する

MakeCAB.exe は、Windows 2000 以降に組み込まれているツールです。MakeCAB.exe を使用して .cab ファイルを作成するには、次の手順を実行します。

  1. makecab.exe のディレクティブ ファイルを作成し、.ddf 拡張子を付けて保存します。次のサンプル ディレクティブ ファイル (sample.ddf) では、Web パーツ ライブラリ プロジェクトの .cab ファイルが作成されます。
    ;*** サンプル ソース コード MakeCAB ディレクティブ ファイルの例
    ;
    .OPTION EXPLICIT     ; エラーを生成します。
    .Set CabinetNameTemplate=SampleCab.cab       
    .set DiskDirectoryTemplate=CDROM ; すべてのキャビネットを 1 つのディレクトリに
      含めます。
    .Set CompressionType=MSZIP;** すべてのファイルがキャビネット ファイルに圧縮されます。
    .Set UniqueFiles="OFF"
    .Set Cabinet=on
    .Set DiskDirectory1=SAMPLECAB.CAB
    manifest.xml
    WebPart1.dwp
    WebPartLibrary1.dll
    ;*** <the end>
    
  2. .cab ファイルに含めるすべてのファイルを、.ddf ファイルを作成したディレクトリにコピーします。この例では、これらのファイルは Manifest.xml ファイル、WebPart1.dwp ファイル、および WebPartLibrary1.dll ファイルです。
  3. コマンド プロンプトを開き、.ddf ファイル、および .cab ファイルに含めるファイルが格納されているディレクトリに移動し、次のコマンドを実行します。
    Makecab.exe /F sample.ddf
    

    MakeCAB.exe は、SAMPLECAB.CAB というディレクトリを作成し、このディレクトリに SampleCab.cab という名前の .cab ファイルを作成します。このファイルには、Sample.ddf ディレクティブ ファイルにリストされている 3 つのファイルが含まれます。

    MakeCAB.exe の詳細については、Microsoft Cabinet Software Development Kit をダウンロードしてください。

    ローカライズされたリソースのある CAB ファイルを作成する

    Visual Studio は、内部ディレクトリのある .cab ファイルの作成をサポートしていません。ただし、ローカライズされた Web パーツでは、内部ディレクトリのある .cab ファイルが必要になる場合があります。そのため、MakeCAB.exe や他のサードパーティ製 CAB ユーティリティなどのツールを使用して、ローカライズされた Web パーツを配置する必要があります。

    次の例では、ドイツ語にローカライズされたリソースも提供する SampleWebPartLibrary という名前の英語の Web パーツ プロジェクト用の .cab ファイルの作成方法を説明します。この例の .cab ファイルは Sample.cab という名前で、次のファイルを含んでいる必要があります。

    • SampleWebPartLibrary.dll
    • Help.htm
    • Image1.gif
    • WebPart1.dwp
    • de-DE/Help.htm
    • de-DE/Image1.gif
    • de-DE/WebPart1.dwp

    この Web パーツ プロジェクト例の .cab ファイルを作成するには、次の手順を実行します。

    1. 適切な Manifest.xml ファイルを作成します。次の例に、Sample.cab ファイルの Manifest.xml ファイルを示します。
      <?xml version="1.0" encoding="utf-8" ?> 
      <WebPartManifest 
        xmlns="http://schemas.microsoft.com/WebPart/v2/Manifest">
         <Assemblies>
            <Assembly FileName="SampleWebPartLibrary.dll">
               <ClassResources>
      
                  <ClassResource FileName="image1.gif"/>
                  <ClassResource FileName="help.htm"/>
                  <ClassResource FileName="de-DE\image1.gif"/>
                  <ClassResource FileName="de-DE\help.htm"/>
               </ClassResources>
               <SafeControls>
      
                  <SafeControl Namespace="SampleWebPartLibrary" 
                    TypeName="*"/>
               </SafeControls>
            </Assembly>
         </Assemblies>      
         <DwpFiles>
            <DwpFile FileName="WebPart1.dwp"/>
      
            <DwpFile FileName="de-DE\WebPart1.dwp"/>
         </DwpFiles>
      </WebPartManifest>
      
    2. 適切な Makecab.exe ディレクティブ ファイルを作成します。次の例に、Sample.cab ファイルのディレクティブ ファイルを示します。
      ;*** サンプル ソース コード MakeCAB ディレクティブ ファイルの例
      ;
      .OPTION EXPLICIT ; エラーを生成します。
      .Set CabinetNameTemplate=Sample.cab    
      .set DiskDirectoryTemplate=CDROM ; すべてのキャビネットを 1 つのディレクトリに 
        含めます。
      .Set CompressionType=MSZIP ;** すべてのファイルがキャビネット ファイルに圧縮され
        ます。
      .Set UniqueFiles="OFF"
      .Set Cabinet=on
      .Set DiskDirectory1=SAMPLE.CAB
      manifest.xml
      WebPart1.dwp
      SampleWebPartLibrary.dll
      Image1.gif
      help.htm
      .Set DestinationDir=de-DE
      de-DE\WebPart1.dwp
      de-DE\image1.gif
      de-DE\help.htm
      ;*** <the end>
      
    3. .cab ファイルに含めるすべてのファイルを、.ddf ファイルを作成したディレクトリにコピーし、ローカライズしたすべてのリソースを適切なサブディレクトリにコピーします。次の例に、Sample.cab ファイルのディレクトリ構造を示します。
      \ディレクティブ ファイルのあるディレクトリ
                    Sample.ddf
                    Manifest.xml
                    SampleWebPartLibrary.dll
                    WebPart1.dwp
                    Image1.gif
                    Help.htm
                    \de-DE
                              WebPart1.dwp
                              Image1.gif
                              Help.htm
      
      
    4. コマンド プロンプトを開き、.ddf ファイル、および .cab ファイルに含めるファイルが格納されているディレクトリに移動し、次のコマンドを実行して、Sample.cab ファイルにサブディレクトリを作成し、Sample.cab ファイルの配置を準備します。
      Makecab.exe /F sample.ddf
      

      Web パーツ パッケージを配置する

      管理者は、Stsadm.exe ツールを使用して、開発者が作成した .cab ファイルを配置できます。Stsadm.exe は、Windows SharePoint Services コンピュータの管理に使用できるコマンド ライン ツールです。3 つの Stsadm.exe オプションが Web パーツ パッケージの配置に適用されます。

      • AddWPPack
      • DeleteWPPack
      • EnumWPPacks

      特定の Stsadm.exe コマンド ライン オプションの詳細については、コマンド プロンプトで次の行を入力します。

      stsadm -help option
      

      Web パーツ パッケージを追加する

      Stsadm.exe コマンドを使用して、Windows SharePoint Services を実行しているサーバー コンピュータに Web パーツ パッケージを配置するには、コマンド プロンプトを開き、次のコマンドを入力します。

      stsadm.exe -o addwppack 
      -filename Web_Part_Pack_name
      [-url URL]
      [-globalinstall]
      [-force]
      

      Web パーツ パッケージが同じコンピュータの別の仮想サーバーに既にインストールされている場合に Web パーツ パッケージを仮想サーバーにインストールするには、次のコマンドを使用します。

      stsadm.exe -o addwppack
      -name Web_Part_Pack_name
      
      [-url URL]
      [-globalinstall]
      [-force]
      

      スイッチ

      次の表で、Web パーツ パッケージの追加をサポートする Stsadm.exe コマンド ライン スイッチを説明します。

      スイッチ説明
      -url
      Web パーツ パッケージをインストールする仮想サーバーの URL を指定します。
      注: このスイッチを使用しない場合、パッケージはコンピュータ上のすべての Windows SharePoint Services 対応仮想サーバーにインストールされます。
      -name
      Web パーツ パッケージを構成データベースから仮想サーバーにインストールします。パッケージがコンピュータに初めてインストールされたときに、Stsadm.exe は構成データベースに .cab ファイルのコピーを作成します。サーバー ファーム配置では、管理者がフロントエンドの Web サーバーに Web パーツ パッケージをインストールした後で、.cab ファイルをローカルにコピーすることなくすべてのフロントエンド Web サーバーに Web パーツ パッケージをインストールできます。
      -globalinstall
      Web パーツ パッケージをグローバル アセンブリ キャッシュ (GAC) にインストールします。Web パーツ パッケージ内の厳密な名前の Web パーツ アセンブリだけが GAC にインストールされます。他のすべてのアセンブリは、仮想サーバーの Bin ディレクトリにインストールされます。
      -force
      Stsadm.exe でインストール済み Web パーツ パッケージを強制的に上書きします。コマンド ラインで指定した Web パーツ パッケージがサーバーに既に存在する場合は、このスイッチを使用して、そのパッケージを上書きできます。
      -filename 
      Stsadm.exe に、コマンド ラインにパスで指定した .cab ファイルの使用を強制します。

      Web パーツ パッケージを削除する

      Windows SharePoint Services を実行しているコンピュータ上の指定した仮想サーバーから Web パーツ パッケージを削除するには、コマンド プロンプトを開き、次のコマンドを入力します。

      stsadm.exe -o deletewppack
                 -name Web_Part_Pack_name
                 [-url URL]
      
      

      スイッチ

      次の表で、Web パーツ パッケージの削除をサポートする Stsadm.exe コマンド ライン スイッチを説明します。

      スイッチ説明
      -name
      削除する Web パーツ パッケージの指定に使用されます。
      -url
      削除する Web パーツ パッケージを含む仮想サーバーの URL を指定します。
      注: このスイッチを使用しない場合、コンピュータ上のすべての Windows SharePoint Services 対応仮想サーバーからパッケージが削除されます。

      Web パーツ パッケージを列挙する

      Windows SharePoint Services を実行しているコンピュータにインストールされているすべての Web パーツ パッケージをリストするには、コマンド プロンプトを開き、次のコマンドを入力します。

      stsadm.exe -o enumwppacks
                 [-name Web_Part_Pack_name]
                 [-url URL]
                 [-farm]
      

      スイッチ

      次の表で、Web パーツ パッケージの列挙をサポートする Stsadm.exe コマンド ライン スイッチを説明します。

      スイッチ説明
      -name
      指定した Web パーツ パッケージがインストールされているかどうかを判断します。
      -url
      列挙する Web パーツ パッケージを含む仮想サーバーの URL を指定します。このスイッチを使用しない場合、コンピュータ上のすべての Windows SharePoint Services 対応仮想サーバーにインストールされているすべてのパッケージがリストに含まれます。
      -farm
      Windows SharePoint Services のサーバー ファーム配置にインストールされているすべての Web パーツ パッケージを列挙します。

      Web パーツ パッケージをインストールする

      Web パーツ パッケージのインストール先を GAC にするか、または Bin ディレクトリにするかを決定するには、次の質問について検討します。

      • このパッケージをコンピュータ上のすべての仮想サーバーで使用可能にしますか。
      • パッケージのアセンブリおよびリソースを完全に信頼しますか。

      両方の質問に対する回答が "はい" の場合は、Web パーツ パッケージを GAC にインストールします。GAC 内のアセンブリは完全に信頼され、すべての仮想サーバーから使用できるようになります。

      次の表に、GAC へのインストールと Bin ディレクトリへのインストールの違いを示します。

      項目GACBin ディレクトリ
      アセンブリの場所local_drive:\Windows\Assemblylocal_drive:\virtual_server_file system_location\bin
      クラス リソースlocal_drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources

      URL: http://virtual_server/_wpresources

      local_drive:\ virtual_server_file system_location\wpresources

      URL: http://virtual_server/wpresources

      既定のセキュリティ信頼レベル完全一部 (WSS_Minimal)
      すべての仮想サーバーからアクセス可能か可 (各仮想サーバーの SafeControls リストでアセンブリと種類が有効になっている必要があります)不可 (Web パーツ パッケージは、アセンブリがインストールされている仮想サーバーからしかアクセスできません)
      Stsadm.exe の使用の前提条件アセンブリは、厳密な名前のアセンブリである必要があります。 
      -globalinstall スイッチを使用する必要があるかあるない
      注: アセンブリを Bin ディレクトリにインストールし、アセンブリが Bin ディレクトリの既定のポリシーを超えるコード アクセス セキュリティ権限を必要とする場合は、配置の完了後にこれらの権限を割り当てることができます。コード アクセス セキュリティの詳細については、「Microsoft SharePoint Products and Technologies Developer Center」から入手できる Microsoft Windows SharePoint Services 2.0 Software Development Kit (SDK) を参照してください。

      まとめ

      Stsadm.exe を使用して、Web パーツ パッケージを GAC または指定した仮想サーバーの Bin ディレクトリに配置できます。これにより、必要に応じて組織全体に、またはサイトを限定して Web パーツ パッケージを配置できます。

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker