ファーム ソリューションをアップグレードする

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

適用対象: SharePoint Foundation 2010

ここでは、ファーム ソリューションをアップグレードする方法について説明します。

アップグレードする 2 つの方法

ファーム ソリューションをアップグレードする方法は 2 つあります。どちらの方法を使用するかは、どのような変更が新しいバージョンのソリューションで行われているかによって異なります。

  • 置き換え: 古いバージョンのソリューションが取り消され、ファーム ソリューション ストアからオプションで削除された後、新しいバージョンのソリューションがソリューション ストアに追加され、展開されます。新しいソリューション パッケージ (.wsp ファイル) には、古いバージョンと同じ名前または GUID が指定されます。ただし、古いバージョンがソリューション ストアから削除されずに取り消された場合、新しいバージョンには古いバージョンとは異なるファイル名と GUID が付けられます。この種類のアップグレードは、新しいバージョンのソリューションが、次のいずれかの点において、既にインストールされているバージョンと異なる場合に役立ちます。

    • 古いバージョンのフィーチャーが削除されたか、古いバージョンにはなかったフィーチャーが追加された。

    • フィーチャーの ID が変更された。

    • フィーチャーの範囲が変更された。

    • フィーチャー レシーバーのバージョンが変更された。

    • 新しい elements.xml ファイルが追加されたか、elements.xml ファイルが削除されたか、または既存の elements.xml ファイルのコンテンツが変更された。

    • 新しい Property 要素が Feature.xml ファイルに追加されたか、Property 要素が Feature.xml ファイルから削除されたか、Feature.xml ファイルの Property 要素の値が変更された。

    取り消しおよび展開の詳細については、「ファーム ソリューションをアンインストールして取り消す」および「SharePoint 2010 へのファーム ソリューションのインストールと展開」を参照してください。

  • 更新: インストールおよび展開される新しいバージョンのソリューション パッケージのファイル名が古いバージョンとは異なります。ただし、GUID は同じです。GUID が同じであることは、Microsoft SharePoint Foundation 展開インフラストラクチャによって検出され、古いバージョンは新しいバージョンの展開前に自動的に取り消されます。ソリューション内にフィーチャーがある場合、一連のフィーチャーは新しいバージョンと古いバージョンで同じになり、アクティブ状態が保持されます。ただし、その中のアセンブリおよび他の特定のファイルについては、新しいソリューション パッケージのバージョンで更新されます。

    ソリューションのアップグレードが成功すると、前のバージョンのソリューションはバックアップされ、構成ストアに保存されます。このバックアップは、アップグレードが失敗した場合にソリューション フレームワークによって使用されます。バックアップはソリューションごとに 1 つだけ保存されます。

    ファーム管理者は、SharePoint 管理シェルの Update-SPSolution コマンドを使用して更新を行います。

プログラムによって更新する

プログラムによって置き換えアップグレードを実行することは、プログラムによって古いバージョンを取り消して、新しいバージョンを追加して展開することと同じです。プログラムによる更新アップグレードについては、これを実行するために SPSolution.Upgrade() メソッドのオーバーロードの 1 つがコードで呼び出されます。このメソッドを実行するには、ソリューション ストアにソリューションが存在していなければなりません。このソリューションは展開されていたり、展開されていなかったりします。

ソリューションが展開されていない場合は、SPSolution.Upgrade(String) メソッドを呼び出して、ソリューション ストア内でソリューションを更新します。展開されている場合は、SPSolution.Upgrade(String, DateTime) メソッドを呼び出して、アップグレード用のタイマー ジョブを開始します。どちらの場合も、古いバージョンのソリューションのバックアップが作成されます。

関連項目

概念

SharePoint 2010 へのファーム ソリューションのインストールと展開

ファーム ソリューションをアンインストールして取り消す