拡張機能の公開

適用先:Windows Admin Center、Windows Admin Center Preview

拡張機能を開発したら、それを公開して、他のユーザーがテストしたり利用したりできるようにすることをお勧めします。 この記事では、公開の対象ユーザーと目的に応じて、いくつかの公開オプションと手順や要件を紹介します。

公開オプション

Windows Admin Center でサポートされている構成可能なパッケージ ソースには、主なオプションが 3 つあります。

  • Windows Admin Center に関する Microsoft のパブリック NuGet フィード
  • お客様独自のプライベート NuGet フィード
  • ローカルまたはネットワークのファイル共有

Windows Admin Center 拡張機能フィードへの公開

既定では、Windows Admin Center は、Microsoft の Windows Admin Center 製品チームによって管理されている NuGet フィードに接続されます。 Microsoft によって開発された新しい拡張機能の早期プレビュー バージョンは、このフィードに公開されて、Windows Admin Center のユーザーが使用できるようになる場合があります。 公開で拡張機能を構築してリリースする予定の外部開発者は、Windows Admin Center フィードに拡張機能を公開するための要求を送信することもできます。 外部開発者は、このフィードに公開する前に、Windows Admin Center の拡張機能パブリッシャー契約書拡張機能参加ポリシーに同意する必要があります。

別の NuGet フィードへの公開

プライベート ソースを設定したり、NuGet ホスティング サービスを使用したりするための多様なオプションのいずれかを使用して、独自の NuGet フィードを作成して拡張機能を公開することもできます。 この NuGet フィードは、NuGet v2 API をサポートしている必要があります。 Windows Admin Center では現在のところ、フィード認証がサポートされていないため、すべてのユーザーに読み取りアクセスを許可するようにフィードを構成する必要があります。

ファイル共有への公開

拡張機能のアクセスを組織または限られたユーザー グループに制限する場合は、SMB ファイル共有を拡張機能フィードとして使用できます。 ファイル共有を使用して拡張フィードをホストする場合、フィードへのアクセスを管理するためにファイルとフォルダーのアクセス許可が適用されます。

リリース用の拡張機能の準備

以下の開発に関する記事を必ず読んで検討してください。

プレビュー リリースとしてリリースを検討する

評価目的でプレビュー バージョンの拡張機能のをリリースしようとしている場合は、次のようにすることをお勧めします。

  • .nuspec ファイル内の拡張機能のタイトルの末尾に、"(Preview)" を追加します
  • .nuspec ファイル内の拡張機能の説明で、制限事項について説明します

拡張機能サービスの作成

Windows Admin Center では、拡張機能の配布とダウンロードのために、NuGet パッケージとフィードを利用します。 パッケージを出荷するには、プラグインと拡張機能が含まれる NuGet パッケージを生成する必要があります。 1 つのパッケージに UI 拡張機能とゲートウェイ プラグインを含めることができます。 以下のセクションでは、そのプロセスの手順を説明します。

拡張機能をビルドする

拡張機能のパッケージ化を開始する準備ができたらすぐに、ファイル システム上に新しいディレクトリを作成し、コンソールを開き、そこに移動します。 このディレクトリが、パッケージを構成するすべての nuspec とコンテンツ ディレクトリを格納するために使用するルート ディレクトリとなります。 この記事の残りの部分では、このフォルダーを NuGet Package と呼びます。

UI 拡張機能

UI 拡張機能に必要なすべてのコンテンツを収集するプロセスを開始するには、ツールで "gulp build" を実行し、ビルドが成功したことを確認します。 このプロセスでは、すべてのコンポーネントが、拡張機能のルート ディレクトリ (src ディレクトリの同じレベル) にある "bundle" という名前のフォルダーにまとめてパッケージ化されます。 このディレクトリと、そのすべてのコンテンツを "NuGet Package" フォルダーにコピーします。

ゲートウェイ プラグイン

ビルド インフラストラクチャを使用して (これは、Visual Studio を開いて [ビルド] ボダンを選択するのと同じくらい簡単な場合もあります)、プラグインのコンパイルとビルドを行います。 ビルド出力のディレクトリを開き、プラグインを表す DLL をコピーし、それらを "NuGet Package" ディレクトリ内の "package" という名前の新しいフォルダーに格納します。 FeatureInterface DLL は不要です。コードを表す DLL のみをコピーします。

nuspec ファイルを作成する

NuGet パッケージを作成するには、最初に .nuspec ファイルを作成する必要があります。 .nuspec ファイルは、NuGet パッケージのメタデータが含まれる XML マニフェストです。 このマニフェストは、パッケージを作成するためと、コンシューマーに情報を提供するための、両方に使われます。 このファイルを、"NuGet Package" フォルダーのルートに配置します。

下に、.nuspec ファイルの例と、必須または推奨プロパティの一覧を示します。 完全なスキーマについては、「nuspec リファレンス」を参照してください。 .nuspec ファイルは、任意のファイル名を付けてプロジェクトのルート フォルダーに保存します。

重要

.nuspec ファイルの <id> 値は、プロジェクトの manifest.json ファイルの "name" 値と一致している必要があります。そうでないと、公開した拡張機能が Windows Admin Center に正常に読み込まれません。

<?xml version="1.0">
<package>
  <metadata>
    <id>contoso.project.extension</id>
    <version>1.0.0</version>
    <title>Contoso Hello Extension</title>
    <authors>Contoso</authors>
    <owners>Contoso</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <projectUrl>https://msft-sme.myget.org/feed/windows-admin-center-feed/package/nuget/contoso.sme.hello-extension</projectUrl>
    <licenseUrl>http://YourLicenseLink</licenseUrl>
    <iconUrl>http://YourLogoLink</iconUrl>
    <description>Hello World extension by Contoso</description>
    <copyright>(c) Contoso. All rights reserved.</copyright>
    <tags></tags>
  </metadata>
  <files>
    <file src="bundle\**\*.*" target="ux" />
    <file src="package\**\*.*" target="gateway" />
  </files>
</package>
プロパティ名 必須/推奨 説明
packageType 必須 Windows Admin Center の拡張機能に対して定義されている NuGet パッケージの種類である WindowsAdminCenterExtension を使用します。
id 必須 フィード内での一意のパッケージ識別子。 この値は、プロジェクトの manifest.json ファイルの "name" 値と一致している必要があります。 ガイダンスについては、一意のパッケージ識別子の選択に関するページをご覧ください。
title Windows Admin Center フィードへの公開の場合は必須 Windows Admin Center 拡張機能マネージャーに表示されるパッケージのフレンドリ名。
version 必須 拡張機能のバージョン。 セマンティック バージョン管理 (SemVer 規則) の使用をお勧めしますが、必須ではありません。
作成者 必須 会社に代わって公開する場合は、会社名を使用します。
description 必須 拡張機能の機能の説明を入力します。
iconUrl Windows Admin Center フィードへの公開時は推奨 拡張機能マネージャーで表示するアイコンの URL。
projectUrl Windows Admin Center フィードへの公開の場合は必須 拡張機能の Web サイトへの URL。 別の Web サイトがない場合は、NuGet フィード上のパッケージ Web ページの URL を使用してください。
licenseUrl Windows Admin Center フィードへの公開の場合は必須 拡張機能のエンド ユーザー使用許諾契約書への URL。
files 必須 これら 2 つの設定によって、Windows Admin Center で UI 拡張機能やゲートウェイ プラグインのために必要なフォルダー構造が設定されます。

拡張機能の NuGet パッケージをビルドする

この段階で、上で作成した .nuspec ファイルを使用して、NuGet フィードにアップロードして公開することができる NuGet パッケージの .nupkg ファイルを作成します。

  1. NuGet クライアント ツールの Web サイトから CLI ツールの nuget.exe をダウンロードします。
  2. nuget.exe pack <>.nuspec file name> を実行して、.nupkg ファイルを作成します。

拡張機能の NuGet パッケージに署名する

信頼できる証明機関 (CA) の証明書を使用して、拡張機能に含まれるすべての .dll ファイルに署名する必要があります。 既定では、Windows Admin Center が運用モードで実行中のときには、署名されていない .dll ファイルの実行がブロックされます。

パッケージの整合性を確保するために、拡張機能の NuGet パッケージに署名することを強くお勧めします。

Note

Windows Defender アプリケーション制御をサポートする拡張機能を計画している場合は、パッケージと内部のすべてのファイルに署名する必要があります。 Windows Defender アプリケーション制御を使用した署名の詳細について説明します。

拡張機能の NuGet パッケージをテストする

これで、拡張機能パッケージをテストする準備ができました。 .nupkg ファイルを、NuGet フィードにアップロードするか、ファイル共有にコピーします。 別のフィードまたはファイル共有にあるパッケージを表示したりダウンロードしたりするには、NuGet フィードまたはファイル共有を指すようにフィードの構成を変更する必要があります。 テスト時に、拡張機能マネージャーでプロパティが正しく表示されていることを確認すれば、拡張機能を正常にインストールしたりアンインストールしたりすることができます。

Windows Admin Center フィードに拡張機能を公開する

Windows Admin Center フィードに公開することで、すべての Windows Admin Center ユーザーが拡張機能を使用できるようにすることができます。 Windows Admin Center SDK はまだプレビュー段階であるため、開発上の問題の解決に役立つようにお客様と緊密に連携し、お客様が高品質の製品やエクスペリエンスをユーザーに提供できるようにしたいと考えています。

お客様は、拡張機能のレビュー要求を Microsoft に送信する前に、拡張機能を公開する目的を述べているメールを wacextensionrequest@microsoft.com に送信する必要があります。 書面での確認と承認のため、Microsoft はお客様に、拡張機能パブリッシャー契約書と拡張機能参加ポリシーのコピーを提供します。

初期バージョンの拡張機能をリリースする前に、リリースの少なくとも 2 から 3 週間前に拡張機能のレビュー要求を Microsoft に送信することをお勧めします。 リリース前に 2 から 3 週間の余裕を見ることで、Microsoft がレビューのために十分な時間を確保し、必要に応じてお客様が拡張機能に変更を加えられるようにします。 拡張機能を公開する準備が整ったら、レビューのために Microsoft に提出する必要があります。 拡張機能が承認されると、フィードに公開されます。 Microsoft に拡張機能パッケージを送信すると、拡張機能パブリッシャー契約書と拡張機能参加ポリシーの条項に従うと同意したことになります。

その後、拡張機能の更新プログラムをリリースする場合は、レビューのために別の要求を送信する必要が生じます。 変更の範囲によって異なりますが、更新プログラムのレビューの所要時間は、一般的には短くなります。

拡張機能のレビュー要求を Microsoft に送信する

拡張機能のレビュー要求を送信するには、下記の情報を入力して、wacextensionrequest@microsoft.com にメールで送信します。 メールには、Microsoft から 1 週間以内に返信いたします。

Windows Admin Center - 拡張機能のレビュー要求の情報:

  • 拡張機能の所有者/開発者 (最大 3 人のユーザー) の名前とメール アドレス。 会社に代わって拡張機能をリリースする場合は、会社のメール アドレスを指定します。
  • 会社名 (会社に代わって拡張機能をリリースする場合にのみ必要)
  • 拡張機能の名前
  • リリースの目標日 (推定)
  • 新しい拡張機能の提出の場合 - 拡張機能の説明 (初期の設計ワイヤ フレーム、画面モックアップ、または製品のスクリーンショットを推奨)
  • 更新した拡張機能のレビューの場合 - 変更の説明 (UI を大幅に変更した場合は製品のスクリーンショットを含む)

レビューと公開のために拡張機能パッケージを送信する

前述した拡張機能パッケージの作成に関する手順に従っていて、.nuspec ファイルが正しく定義されており、ファイルが署名されていることを確認してください。 また、以下について記載したプロジェクト Web サイトを用意することをお勧めします。

  • スクリーンショットやビデオを含む、拡張機能の詳細な説明
  • フィードバックや質問を受け取るためのメール アドレスまたは Web サイト機能

拡張機能を公開する準備ができたら、wacextensionrequest@microsoft.com にメールを送信してください。 拡張機能パッケージを送信する方法に関する手順をお知らせします。 パッケージを受け取った後にレビューを行います。 拡張機能パッケージが承認されると、Windows Admin Center フィードに公開されます。