2015/05/18

Windows Server 2012 R2 Essentials 用アドインを開発する②~アドイン開発

以前から作ろう作ろうと思っていたWindows Server 2012 R2 Essentials用アドインの開発に着手し始めました。
と言っても、大層なアドインを作れるだけの知識・経験がないため、まずはWebページを表示するだけの簡単なアドインを開発。
連載2回目は、Windows Server 2012 R2 Essentials用アドインをVisual Studioで開発する手順をメモ。

ゴール

今回は、下記アドインを開発します。
  • Windows Server Essentials ダッシュボードにトップ レベル タブを配置する
  • サブ タブ ページにWebページを表示する
  • Webページは、Microsoft Azure ポータルとする
下記画像は、開発したアドインのスクリーンショットです。

アドインの開発手順

プロジェクトを新規作成
Visual Studioを開き、プロジェクトを新規作成します。
[テンプレート]→[Visual C#]→Windows Server Essentials]→[Dashboard]を選択します。
次に、[WSS Top-Level Tab with Winforms Control]を選択し、名前は「WssAzurePortal」とします。
TopLevelTab.csを変更
[ソリューション エクスプローラー]の[TopLevelTab.cs]を開きます。
ここでは3点変更します。
  • (念のため)GUIDを変更
  • タイトルを変更
  • タイトルの説明文を変更
これら値を変更すると下記のように表示されます。
SubTabPage.csを変更
次は、[SubTabPage.cs]を開きます。
トップ レベル タブと同様の変更を行います。
  • (念のため)GUIDを変更
  • (念のため)タイトルを変更
  • (念のため)説明文を変更
※今回開発するアドインはWebページを表示するだけですので、[SubTabPage.cs]の変更内容は無意味かもしれません。
WinformにWebBrowser コントローラーを追加
[ソリューション エクスプローラー]の[MyCustomWinformControl]フォルダーにある[MyCustomWinformControl.cs]を右クリックし[デザイナーを表示]を選択、又は同ファイルをダブル クリックします。
フォーム サイズを適当な大きさに変更します。
[ツールボックス]の検索ボックスに[web]と入力し、[WebBrowser]コントロールを検索します。
表示されたら、[WebBrowser]コントロールをフォームにドラッグ&ドロップします。
コントロール右上の▶をクリックし、[親コンテナーにドッキングする]をクリックします。
クリックすると、コントローラーのサイズがフォーム サイズと同じになります。
WebBrowser コントローラーにURLを指定
WebBrowser コントローラーのナビゲート先であるURLを指定します。
今回のゴールは、Microsoft Azure ポータルを表示させる事ですからURLは
https://manage.windowsazure.com
を指定します。
addin ファイルを設定
[ソリューション エクスプローラー]の[WssAzurePortal.addin]を開きます。
変更する箇所は、basedir属性値のみです。
既定値は[FULL_PATH_TO_YOUR_PAGE_PROVIDER_BINARY_DLL]となっています。
この値をDLLを配置するパスを指定します。
今回は、Windows Server 2012 R2 Essentialsの
%ProgramFiles%\Windows Server\Bin\Addins\MyAddinDLLs
としました。
(この後に説明しますが)ビルド出力されたWssAzurePortal.dllとWssAzurePortal.addinの2ファイルをサーバー上に配置します。
WssAzurePortal.dllの配置先が上記パスになります。
注意点は、この設定を誤るとWindows Server Essentials ダッシュボードを開いた際にアドインが正しく表示されません

ビルド

最後に、プロジェクトをビルドします。
[ビルド]→[ソリューションをビルド]をクリックするとビルドが開始されます。
※[Ctrl]+[Shift]+[B]のショートカットでもOKです
出力結果に異常がなければビルドは成功です。
(標準設定では)ファイルは
%USERPROFILE%\Documents\Visual Studio 2013\Projects\WssAzurePortal\WssAzurePortal\bin\Debug(又はRelease)
に出力されていると思います。確認してみましょう。

次回は、ビルドしたファイルをWindows Server 2012 R2 Essentialsへ配置します。
連載:Windows Server 2012 R2 Essentials アドイン開発
スポンサーリンク

スポンサーリンク