ソリューション パッケージ ファイル (*.wsp ファイル) の展開方法

こんにちは。

SharePoint サポートチームの森下です。

ブログも 2 回目の更新となりますが、実はアクセス カウンターを仕掛けていないという凡ミスにより、どれだけの方にご覧いただけているのかがよく分からない状況になっちゃっているのですが、、

きっとたくさんの方が見てくれていると信じてこれかも定期的に更新していきますので、みなさまどんどんアクセスよろしくお願いします。

さて、今回はサポートによくお問い合わせいただくものの中から、ソリューション パッケージ ファイル (*.wsp ファイル) の展開方法についてご紹介します。

なぜ 2 回目がこのネタ !? とお思いの方もいるかもしれませんが、VSeWSS (以下参照) で作成されたバッチ ファイルをファームの検証環境にそのまま持っていって展開しようとしたけど失敗。。というパターンがけっこう多いようです。

https://www.microsoft.com/downloads/details.aspx?displaylang=ja\&FamilyID=a8a4e775-074d-4451-be39-459921f79787

https://www.microsoft.com/downloads/details.aspx?displaylang=ja\&FamilyID=7bf65b28-06e2-4e87-9bad-086e32185e68

ここでまずお伝えしないといけないのは、VSeWSS は 1 台構成の開発環境を想定しており、ファーム環境に対する考慮はされていません。

したがって、このツールで作成される展開用のバッチなどを、そのままファーム環境で使用することはできないのです。。

そして、もう 1 点、この VSeWSS、ダウンロード サイトの必要システムの欄に記載がありますとおり、マイクロソフトはテクニカル サポートを提供していませんので、この点はあしからずご了承ください。。

と、前置きはここまでにして、では実際に開発した wsp ファイルを MOSS のファーム環境に展開するためにはどうしたら良いのか。

そこで今回は一般的なソリューションパッケージの展開方法をここでご紹介できればと思います。

ソリューションを展開する方法

****************************

以下の手順は、"サーバーの全体管理" の管理者権限を保持しているユーザーで実行してください。

手順概要

========

1. ソリューションを追加する

2. ソリューションを展開する

3. IIS (Internet Information Services) を再起動する

4. フィーチャーをアクティブ化する

それぞれの手順の詳細です。

1. ソリューションを追加する

----------

1-1 コマンド プロンプトを起動し、以下のコマンドを実行します。

pushd "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN"

1-2. コマンド プロンプトより、以下のコマンドを実行します。

stsadm.exe -o addsolution -filename <solution filename>

stsadm.exe -o execadmsvcjobs

- 補足

<solution filename> にはソリューション パッケージファイル (*.wsp ファイル) の名前を指定してください。

.wsp ファイルはサーバー上のどこに配置していても問題ありません。例えば C ドライブ直下に配置している場合は以下のコマンドになります。

例 :

stsadm.exe -o addsolution -filename C:\WebPart1.wsp

stsadm.exe -o execadmsvcjobs

2. ソリューションを展開する

----------

2-1. コマンド プロンプトより、以下のコマンドを実行します。

stsadm.exe -o deploysolution -name <solution filename> -url <url> -immediate -allowgacdeployment -force

stsadm.exe -o execadmsvcjobs

- 補足

<solution filename> には作成したソリューションパッケージ ファイル (*.wsp ファイル) の名前を、<url> にはソリューションを展開したい仮想サーバーの URL を、それぞれ指定してください。

例 :

stsadm.exe -o deploysolution -name WebPart1.wsp -url https://MyServer/Sites/MySite -immediate -allowgacdeployment -force

stsadm.exe -o execadmsvcjobs

この手順は stsadm ではなく UI 上からも実施することができます。(手順1. のソリューションの追加だけは stsadm から実施する必要があります。)

サーバーの全体管理から、[サーバー構成の管理] タブ - [ソリューション管理] をクリック、該当の wsp ファイルをクリックして、[ソリューションの展開] をクリックします。

stsadm で指定しているコマンドと同じようなパラメータが表示されていますね。

図1. ソリューションの展開

3. IIS (Internet Information Services) を再起動する

----------

3-1. コマンド プロンプトより、以下のコマンドを実行します。

iisreset

なお、Web フロントエンド サーバーが複数ある場合は、それぞれのサーバーで実行してください。

4. フィーチャーをアクティブ化する

----------

4-1. コマンド プロンプトより、以下のコマンドを実行します。

stsadm.exe -o activatefeature -name <feature folder> -url <url>

- 補足

<feature folder> にはアクティブ化したいフィーチャーの名前を、<url> にはフィーチャーをアクティブ化したいサイトの URL を、それぞれ指定してください。

例 :

stsadm.exe -o activatefeature -name WebPart1 -url https://MyServer/Sites/MySite

もちろんこの手順も、UI 上から実施することが可能です。

展開先に指定したサイトへアクセスし、[サイトの操作] – [サイトの設定] – [すべてのサイト設定の変更] から、[サイト コレクションの機能] をクリックします。

該当のフィーチャーの [アクティブ化] ボタンをクリックし、手動でアクティブ化することができます。

(ご紹介した手順は、グループ作業ポータルのトップサイトに展開した場合を想定してますので、フィーチャーの内容やサイトの種類などにより若干操作の名称や内容が異なる場合があります。)

図2. フィーチャーのアクティブ化

以上で展開手順は終了です。

次に、インストールしたものを削除する方法もご紹介しておきます。

ソリューションを削除する方法

****************************

手順はだいたい展開方法の逆になります。

展開時に UI で実施できた部分は削除時も UI から実施することができます。(手順は省略します。)

手順概要

========

1. フィーチャーを非アクティブ化する

2. ソリューションの展開を取り消す

3. IIS (Internet Information Services) を再起動する

4. ソリューションをファームから削除する

それぞれの手順の詳細です。

1. フィーチャーを非アクティブ化する

----------

1-1. コマンド プロンプトを起動し、以下のコマンドを実行します。

pushd "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN"

1-2. コマンド プロンプトより、以下のコマンドを実行します。

stsadm.exe -o deactivatefeature -name <feature folder> -url <url>

- 補足

<feature folder> には非アクティブにしたいフィーチャーの名前を、<url> にはフィーチャーを非アクティブにしたいサイトの URL を、それぞれ指定してください。

また、この非アクティブ化は必ずアクティブ化を実施した全てのサイトで実施してください。この作業を実施せずにソリューションを取り消してしまうと、サイト内にゴミが残り予期せぬ現象を招く場合があります。

例 :

stsadm.exe -o activatefeature -name WebPart1 -url https://MyServer/Sites/MySite

2. ソリューションの展開を取り消す

----------

2-1. コマンド プロンプトより、以下のコマンドを実行します。

stsadm.exe -o retractsolution -name <solution filename> -url <url> -immediate

stsadm.exe -o execadmsvcjobs

- 補足

<solution filename> には展開を取り消したいソリューションパッケージ ファイル (*.wsp ファイル) の名前を、<url> にはソリューションの展開を取り消したい仮想サーバーの URL を、それぞれ指定してください。

例 :

stsadm.exe -o retractsolution -name WebPart1.wsp -url https://MyServer/Sites/MySite -immediate

stsadm.exe -o execadmsvcjobs

3. IIS (Internet Information Services) を再起動する

----------

3-1. コマンド プロンプトより、以下のコマンドを実行します。

iisreset

なお、Web フロントエンド サーバーが複数ある場合は、それぞれのサーバーでコマンドを実行してください。

4. ソリューションを削除する

----------

4-1. コマンド プロンプトより、以下のコマンドを実行します。

stsadm.exe -o deletesolution -name <solution filename>

stsadm.exe -o execadmsvcjobs

- 補足

<solution filename> には削除したいソリューションパッケージ ファイル (*.wsp ファイル) の名前をご指定ください。

例 :

stsadm.exe -o deletesolution -name WebPart1.wsp

stsadm.exe -o execadmsvcjobs

なお、ご紹介した stsadm 操作の詳細は、下記サイトに公開情報がありますので、こちらも合わせてご確認ください。

Activatefeature : Stsadm 操作 (Office SharePoint Server)

https://technet.microsoft.com/ja-jp/library/cc262692.aspx

Addsolution : Stsadm 操作 (Office SharePoint Server)

https://technet.microsoft.com/ja-jp/library/cc263162.aspx

Deactivatefeature : Stsadm の操作 (Office SharePoint Server)

https://technet.microsoft.com/ja-jp/library/cc262680.aspx

Deletesolution : Stsadm 操作 (Office SharePoint Server)

https://technet.microsoft.com/ja-jp/library/cc261929.aspx

Deploysolution : Stsadm 操作 (Office SharePoint Server)

https://technet.microsoft.com/ja-jp/library/cc262459.aspx

Execadmsvcjobs : Stsadm 操作 (Windows SharePoint Services)

https://technet.microsoft.com/ja-jp/library/cc288149.aspx

Retractsolution : Stsadm 操作 (Office SharePoint Server)

https://technet.microsoft.com/ja-jp/library/cc261799.aspx

次回も SharePoint 製品に関する有益な情報をご紹介していきますので、ご期待ください!