次の方法で共有


ソリューション パッケージで正常性ルールを展開する

最終更新日: 2011年11月15日

適用対象: SharePoint Foundation 2010

開発環境での新しい正常性ルールの作成が、単純でわかりやすいものになっています。Global Assembly Cache Tool (Gacutil.exe) を使用して開発サーバーの Global Assembly Cache (GAC) 内にアセンブリを配置することによって、ルールを含むアセンブリを手動でインストールできます。SharePoint フィーチャを作成してルールを SharePoint Health Analyzer に登録している場合は、SharePoint 管理シェル を使用して Windows Powershell コマンドレット (Install-SPFeature) を実行することによって、フィーチャを手動でインストールできます。Windows Powershell コマンドレット (Enable-SPFeature) を使用して、フィーチャのアクティブ化とルールの登録を行うことができます。

サーバー ファームが複数のサーバーから構成され、追加サーバーの稼働に時間のかかる可能性が高い実稼働環境では、手動による手順は実用的ではありません。実稼働環境での最適な方法は、ソリューション パッケージを使用する方法です。ソリューション パッケージを一度アップロードすると、ソリューションをファーム内のすべてのサーバーに伝播できます。新しいサーバーが稼働すると、サーバーは準備の一環としてソリューションを自動的に取得します。

ここでは、正常性ルールを含むソリューション パッケージを作成する方法と、ソリューションをアップロードしてサーバー ファームに展開する方法について説明します。また、「[方法] 正常性ルールを作成する」と「[方法] 正常性ルールを登録するフィーチャーを作成する」で説明されている手順を完了していることを前提としています。

ソリューション パッケージを作成する

ソリューション パッケージは, .wsp ファイル拡張子を持つ CAB ファイルで、ファーム内のサーバーへの展開が必要なすべてのファイルを含んでいます。ソリューション パッケージを使用して正常性ルールを展開するため、パッケージにより、feature.xml とルールのアセンブリがインストールされます。各ソリューション パッケージには、ソリューションをインストールする手順を含む manifest.xml というファイルも必要です。

ソリューション パッケージ作成するには、最初に manifest.xml を作成します。次に、出力 CAB ファイルに含めるファイルを MAKECAB.EXE コマン ドライン ユーティリティに指示するための、Diamond Directive File (.ddf) を作成します。最後に、MAKECAB.EXE を使用して CAB ファイルをコンパイルします。

ソリューション パッケージのマニフェストを作成するには

  1. [スタート] メニューで Visual Studio を右クリックし [管理者として実行] を選択して、Visual Studio を管理者として実行します。

  2. 正常性ルールのコードを含むプロジェクトを開きます。

  3. ソリューション フォルダーを作成します。

    [ソリューション エクスプローラー] でプロジェクト名を右クリックし、[追加]、[新しいフォルダー] を順に選択します。「ソリューション」と入力します。

  4. ソリューションのマニフェスト ファイルを作成します。

    [ソリューション] フォルダーを右クリックし、[追加]、[新しいアイテム...] の順に選択します。[新しいアイテムの追加] ダイアログで、[XML ファイル] テンプレートを選択します。ファイルに、「manifest.xml」という名前を付けます。[追加] をクリックします。

  5. エディターで、manifest.xml を開きます。

  6. ファイルの 1 行目のみを削除します。その場所に、次のコードを貼り付けます。

    <Solution SolutionId="00000000-0000-0000-0000-000000000000"
              xmlns="https://schemas.microsoft.com/sharepoint/">
      <FeatureManifests>
        <FeatureManifest Location="FeatureFolderName\feature.xml" />
      </FeatureManifests>
      <Assemblies>
        <Assembly DeploymentTarget="GlobalAssemblyCache"
                  Location="AssemblyName.dll" />
      </Assemblies>
    </Solution>
    
  7. SolutionId 属性の値を、新しく生成した GUID で置き換えます (かっこなし)。

    GuidGen ツール (guidgen.exe) を使用して、新しい GUID を取得します。Visual Studio の [ツール] メニューで、[GUID の作成] を選択します。[Create GUID] ダイアログで、[4. Registry Format] を選択して、[Copy] をクリックします。クリップボードの内容を、SolutionId 属性の後ろにある疑問符 (?) の間に貼り付けます。GUID からかっこを削除します。

  8. FeatureManifest 要素の Location 属性の値を変更して、"FeatureFolderName" を、ソリューション内の feature.xml ファイルを含むフォルダー名に置き換えます。

    ソリューションが配置されると、同じ名前のフォルダーが、ファーム内の各サーバーの %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES フォルダーに作成されます。

  9. Assembly 要素の Location 属性の値を変更して、"AssemblyName.dll" を、ルールのアセンブリのファイル名に置き換えます。

  10. manifest.xml を保存します。

ソリューション パッケージのディレクティブ ファイルを作成するには

  1. Visual Studio プロジェクトに、パッケージ フォルダーを作成します。

    [ソリューション エクスプローラー] でプロジェクト名を右クリックし、[追加]、[新しいフォルダー] の順に選択します。「パッケージ」と入力します。

    これは、MAKECAB.EXE コマン ドライン ユーティリティの出力ディレクトリです。

  2. Visual Studio プロジェクトの [ソリューション] フォルダーに、Diamond Directive File (.ddf) を作成します。

    [ソリューション エクスプローラー] で [ソリューション] フォルダーを右クリックし、[追加]、「新しいアイテム...] の順に選択します。[新しいアイテムの追加] ダイアログで、[テキスト ファイル] テンプレートを選択します。ファイルに「cab.ddf」という名前を付けます。次に、[追加] をクリックします。

    このファイルは、MAKECAB.EXE コマンド ライン ユーティリティで使用されます。

  3. エディターで cab.ddf を開きます。次のマークアップをコピーし、cab.ddf ファイルに貼り付けます。

    .OPTION EXPLICIT     ; Generate errors 
    .Set CabinetNameTemplate=SolutionName.wsp
    .set DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory.
    .Set CompressionType=MSZIP;** All files are compressed in cabinet files.
    .Set UniqueFiles="ON"
    .Set Cabinet=on
    .Set DiskDirectory1=Package ; This is the output directory.
    
    ; Files to include.
    Solution\manifest.xml manifest.xml
    Features\FeatureFolderName\feature.xml FeatureFolderName\feature.xml
    bin\Release\AssemblyName.dll AssemblyName.dll
    
  4. CabinetNameTemplate 引数の値を変更して、"SolutionName" をソリューション パッケージで使用するファイル名に置き換えます (.wsp ファイル拡張子は維持します)。

  5. "FeatureFolderName" (2 個所にあります) を、ソリューション内の feature.xml ファイルを含むフォルダー名に置き換えます。

  6. "AssemblyName.dll" (2 個所にあります) を、ルールのアセンブリのファイル名に置き換えます。さらにアセンブリへの相対パスが "bin\Release\" でない場合は、その文字列を正しいパスに置き換えます。

  7. cab.ddf を保存します。

ソリューション パッケージ ファイルを作成するには

  1. Visual Studio コマンド プロンプトを開きます。

  2. Visual Studio プロジェクトのディレクトリに移動します。

    cab.ddf のコマンドパスと次の手順で発行されるコマンド内のファイルパスは、Visual Studio プロジェクト ディレクトリと相対です。

  3. コマンド プロンプトで、次のコマンドを発行します。

    makecab /f solution\cab.ddf
    

    ソリューション パッケージが、[パッケージ] フォルダーに作成されます。

ソリューションをアップロードおよび展開する

新しいソリューション パッケージを作成した後に、SharePoint インストール上、できれば開発サーバーではなくクリーン イメージ上でテストする必要があります。テストでは、最初にソリューション パッケージをサーバー ファームにアップロードし、次にソリューションを展開する必要があります。

注意

ソリューションには、対象範囲がサーバー ファーム レベルであるフィーチャが含まれます。ファーマー レベルのフィーチャはインストール時に自動的にアクティブ化されるため、アクティブ化するためのコマンドを手動で発行する必要はありません。

ソリューション パッケージをアップロードしてファームに展開するには

  1. [スタート]-[管理ツール] メニューで SharePoint 管理シェル を右クリックし [管理者として実行] を選択して、SharePoint 管理シェル を管理者として開きます。

  2. コマンド プロンプトで次のコマンドを発行して、ソリューションをアップロードします (使用するソリューション パッケージのフル パスとファイル名を指定します)。

    add-spsolution -literalpath <full path and filename.wsp>
    

    ソリューション パッケージがサーバー ファームにアップロードされました。

  3. コマンド プロンプトで次のコマンドを発行してソリューションを展開します (.wsp ファイルの正しいファイル名を指定します)。

    install-spsolution -identity filename.wsp -force -gacdeployment
    

正常性ルールがインストールおよび登録されました。[サーバーの全体管理] の [監視] セクションにある Health Analyzer ルールのリストをチェックして、正常性ルールを検証できます。

関連項目

タスク

[方法] 正常性ルールを作成する

[方法] 正常性ルールを登録するフィーチャーを作成する

概念

ソリューションを手動で作成する

その他の技術情報

https://msdn.microsoft.com/ja-jp/library/cc441431(v=office.14)