プラットフォームレイヤーの作成

プラットフォームレイヤーには、レイヤーとレイヤー化されたイメージが環境内で完璧に動作するために必要なプラットフォームソフトウェアと設定が含まれます。

プラットフォームレイヤーは、次の2つの目的で作成できます。

  • レイヤーの作成とパッケージ化: レイヤーを作成するハイパーバイザーとは異なるハイパーバイザーからOSをインポートした場合、このタイプのプラットフォームレイヤーを使用してアプリレイヤーを作成します
  • レイヤー化されたイメージの公開: このタイプのプラットフォームレイヤーをイメージテンプレートで使用すると、公開されたレイヤー化されたイメージが環境内で完璧に動作します

レイヤーのパッケージ化またはレイヤー化されたイメージの公開のためのプラットフォームレイヤー

プラットフォームレイヤーが必要かどうかを判断するには、次の表を使用してください。この表は、プラットフォームレイヤーが必要な場合に、そこにインストールするソフトウェアも示しています。

  レイヤーのパッケージ化 レイヤー化されたイメージの公開
プラットフォームレイヤーは必要ですか? OSイメージが異なるハイパーバイザーで作成された場合に必要です。アプリがエージェントまたはSSOソフトウェアを必要とする場合、そのレイヤーの作成と更新のために専用のプラットフォームレイヤーを作成できます。 プロビジョニングサーバーに公開し、接続ブローカーを使用する場合に必要です。
インストールするもの OSが異なるハイパーバイザーで作成された場合、ハイパーバイザーツール。アプリレイヤーの作成に必要であれば、SSOまたはエージェントソフトウェア。 プロビジョニングおよび接続ブローカーソフトウェアと設定。OSが作成されたハイパーバイザーとは異なるハイパーバイザーに公開する場合は、ハイパーバイザーツールを含めます。
選択する値 ハイパーバイザーを選択します。 ハイパーバイザー、プロビジョニングソフトウェア、および接続ブローカーを選択します。
必要なもの ハイパーバイザーのインストーラー プロビジョニングソフトウェアと接続ブローカーのインストーラー。

プラットフォームレイヤーに含めるその他のソフトウェアと設定

上記で指定されたプラットフォームソフトウェアに加えて、プラットフォームレイヤーには次の設定とソフトウェアを含める必要があります。

  • ドメイン参加
  • NVIDIAドライバー (該当する場合)
  • シングルサインオンコンポーネント用のCitrix Receiver™
  • Citrix Workspace™ Environment Management (WEM) エージェント

    注:

    Citrix WEMによって生成されたRSAキーは、展開されたイメージでWEMを使用する際に問題を引き起こします。レイヤーの最終処理時にRSAキーが存在する場合、次のパスで始まるRSAキーファイルを削除する必要があるというメッセージが表示されます: C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\fb8cc9e38d3e60ab60c17cdfd6dd6d99_

  • Citrix® uberAgent®
  • ログオンスタックに影響を与えるソフトウェア (例: Imprivata)
  • Hyper-V上のCitrix Provisioning™: PXEブートにはレガシーネットワークアダプターが必要です
  • Microsoft System Center Configuration Manager (SCCM) ソフトウェア (使用している場合)

プラットフォームレイヤーの作成プロセス

プラットフォームレイヤーを作成する手順は次のとおりです。

  1. 管理コンソールでプラットフォームレイヤーを作成します
  2. パッケージングマシンに接続してログインします
  3. プロビジョニングおよび接続ブローカーソフトウェアをインストールします
  4. アプライアンスは、レイヤーを作成してイメージを公開するハイパーバイザーとは異なるハイパーバイザーで実行されていますか?はいの場合、ハイパーバイザーツールもインストールすることをお勧めします
  5. レイヤーを検証し、パッケージングマシンをシャットダウンします
    • 選択したコネクタ構成が Offload Compositing を使用するように設定されている場合、レイヤーは自動的に最終処理されます
    • コネクタ構成が not Offload Compositing に設定されていない場合、この記事の詳細な手順で説明されているように、レイヤーを手動で最終処理します

プラットフォームレイヤーを更新するタイミング

プラットフォームレイヤーは最も優先度の高いレイヤーです。特にネットワークデバイスの場合、イメージの展開に不可欠です。インフラストラクチャソフトウェアを更新するたびに、プラットフォームレイヤーにバージョンを追加します。

OSレイヤーを更新すると、イメージで起動の問題が発生する場合があります。この問題を解決するには、新しいOSレイヤーを使用してプラットフォームレイヤーにバージョンを追加します。パッケージングマシンが起動したら、最終処理のためにマシンをシャットダウンします。プラットフォームレイヤーは、新しいOSレイヤーバージョンから重要なコンポーネントを収集し、OSバージョンと一致するようにプラットフォームで更新します。

要件

プラットフォームレイヤーを作成する際、ソフトウェアインストーラーはパッケージングマシンがアクセスできる場所に存在する必要があります。たとえば、プロビジョニングサーバーと接続ブローカーソフトウェアにアクセスできる必要があります。アプライアンスが異なるハイパーバイザーで実行されている場合は、ハイパーバイザーツールも含まれます。

詳細な要件については、レイヤーを作成またはイメージを公開する環境を選択してください。

最適化について

プラットフォームレイヤーは最も優先度の高いレイヤーです。最適化を含めるのに最適な場所だと考えるかもしれません。しかし、Windows 10では、Windowsアプリを削除する最適化はOSレイヤーでのみ機能します。WindowsアプリはWindows Storeと統合されており、OSレイヤーでのみ変更できます。

Citrixは、Citrix Optimizerと呼ばれる優れた最適化ユーティリティを提供しています。Citrix Optimizerは必要に応じて最適化を元に戻すことができるため、App Layeringに付属のオプティマイザーではなく、このユーティリティを使用することをお勧めします。

ユーザーログオンを高速化するには。ネットワークユーザーアカウントを使用してログインし、デスクトップを再起動します。次に、管理者としてログインし、作成されたプロファイルを削除します。最初のネットワークユーザーがログオンすると、一部のシステムファイルが更新され、通常、ログオンパフォーマンスが向上します。

新しいプラットフォームレイヤーの開始

プラットフォームレイヤーを作成するには、次の手順に従います。

  • Create Platform Layer を使用してレイヤーを準備します
  • 環境にパッケージングマシンを展開します
  • 環境用のツールをインストールし、設定を構成します
  • レイヤーを最終処理します

アクションバーから開始して、次の手順に従います。

  1. Layers > Platform Layers を選択します。次に、Create Platform Layer を選択します
  2. [Layer Details] タブで、必須値である Layer NameVersion を入力します。オプションで、他の値を入力することもできます
  3. [Version Details] タブで:
    1. (必須) 新しいバージョン名を入力します。たとえば、ソフトウェアバージョンやその他の識別情報を入力します
    2. 既存のレイヤーにバージョンを追加する場合、Base Version フィールドで開始点として使用するバージョンを選択できます。デフォルトの選択は最新バージョンです
  4. [OS layer] タブで、このプラットフォームレイヤーに関連付けるOSレイヤーを選択します
  5. [Connector] タブで、このレイヤーを作成するプラットフォームの Connector Configuration を選択します
  6. [Platform Types] タブで、This platform will be used for publishing layered images または This platform will be used for packaging を選択します。次に、レイヤー化されたイメージを公開するハイパーバイザー、プロビジョニングソフトウェア、および接続ブローカーを選択します 注: プロビジョニングまたは接続ブローカーを使用していない場合は、これらのオプションのそれぞれに None を選択します
  7. [Packaging Disk] タブで、パッケージングディスクの ファイル名 を入力します。このディスクは、ツールをインストールするパッケージングマシン (仮想マシン) で使用されます
  8. [Icon Assignment] タブで、レイヤーに割り当てるアイコンを選択します。このアイコンは、[Layers] モジュールでレイヤーを表します
    • 既存のイメージを使用するには、イメージボックスでイメージを選択します
    • 新しいイメージをインポートするには、Browse をクリックし、PNGまたはJPG形式のイメージを選択します
    • レイヤーが提供されているアイコンのいずれかを使用し、Offload Compositing が選択されたコネクタを使用している場合、パッケージングマシンはレイヤーの内容に基づいてアイコンを割り当てます
  9. [Confirm and Complete] タブで、アプリレイヤーの詳細を確認し、必要に応じてコメントを入力し、Create Layer をクリックします。入力したコメントは、Audit HistoryInformation ビューに表示されます
  10. Tasks ページを選択し、Packaging Disk タスクをクリックします。情報アイコンをクリックして、タスクの完全な説明を表示します パッケージングディスクが作成されると、タスクバーに環境内のパッケージングディスクの場所が表示されます

次に、レイヤー用のパッケージングマシンを展開できます。

パッケージングマシンの展開

App Layeringシステムは、コネクタ構成で定義された場所にパッケージングマシンを作成します。パッケージングマシンは、レイヤー用のソフトウェアをインストールする一時的なVMです。レイヤーを最終処理すると、パッケージングマシンは削除されます。

Hyper-V用Citrix Provisioning: 2つのネットワークカードの構成

デュアルネットワークカードを使用し、Hyper-V用Citrix Provisioningを実行している場合、プラットフォームレイヤーの新しいバージョンごとに、次のようにカードを構成する必要があります。

プロビジョニングソフトウェアがインストールされ、必要な再起動が完了したら:

  1. パッケージングマシンで管理者コマンドプロンプトを開きます
  2. コマンド ipconfig /all を実行します
  3. ストリーミングNIC (Hyper-Vのレガシーネットワークアダプター) のIPアドレスを正しいアダプター名と一致させます
  4. ストリーミングNICのDHCPリースを更新します
  5. 再度管理者コマンドプロンプトで ipconfig /release *adapter-name* に続けて ipconfig /renew *adapter-name* を実行します。このコマンドにより、App Layeringドライバーはこのアダプターを「プライマリNIC」として選択するよう強制されます
  6. Shutdown for Finalize を実行し、通常どおりレイヤーを最終処理します

重要:

Shutdown for Finalize を選択した後、何らかの理由でマシンを再度オンにする必要がある場合は、release および renew コマンドを再実行する必要があります。

パッケージングマシンにプラットフォームツールをインストールする

次に、レイヤー化されたイメージを公開するプラットフォーム用のソフトウェアをインストールします。プラットフォームツールには、ターゲット環境でレイヤー化されたイメージが必要とするプロビジョニングおよび接続ブローカーソフトウェアが含まれます。レイヤーを最終処理するときのソフトウェアの状態が、イメージが使用する状態になることに注意してください。

  1. パッケージングマシンにリモートでログインします。OSの作成に使用したユーザーアカウントを使用してログインしてください
  2. レイヤー化されたイメージが実行するように構成されているツールをインストールします。たとえば、プロビジョニング、接続ブローカー、およびハイパーバイザーツールを含めます。ドライバー、ブートレベルのアプリケーション、および必要なファイルを忘れないでください
  3. インストールにシステム再起動が必要な場合は、手動で再起動します。パッケージングマシンは自動的に再起動しません
  4. イメージが起動したときにパッケージングマシンが目的の状態になっていることを確認します
    • インストールするツールにインストール後のセットアップまたは登録が必要な場合は、今すぐそれらの手順を完了します
    • パッケージングマシンに含めたくない設定、構成、ファイル、マップされたドライブ、またはアプリケーションを削除します
  5. (オプション) MCSに展開する前にELMから展開されたイメージをカスタマイズするには、次の手順に従います
    1. OSリビジョン2308以降でマスタートールをアップグレードします
    2. 次に、ファイルを作成します c:\windows\setup\scripts\kmsdir\Admin_Controlled_Shutdown.txt

      注:

      ファイルの内容は重要ではありません。

    3. ELMからイメージが展開されると、起動されたイメージは実行状態を維持するため、カスタマイズを行うことができます。再起動してもマシンの状態には影響しません
    4. カスタマイズが完了したら、次のコマンドを実行します c:\windows\setup\scripts\kmsdir\CompleteDeployment.cmd. この時点で、マシンはシャットダウンし、展開タスクが完了します。これにより、マシンをMCSに展開できます

レイヤーを検証し、パッケージングマシンをシャットダウンする

パッケージングマシンにツールがインストールされたら、レイヤーが最終処理の準備ができていることを確認できます。必要なインストール後の処理はすべて完了している必要があります。たとえば、再起動やMicrosoft ngen プロセスが完了している必要がある場合があります。

未処理のプロセスが完了していることを確認するには、Shutdown For Finalize ツールを実行します。パッケージングマシンのデスクトップで Shutdown For Finalize アイコンを探してください。

レイヤーを最終処理できるようにパッケージングマシンをシャットダウンする

  1. パッケージングマシンにログインしていない場合は、OSレイヤー作成時に設定したアカウントを使用してリモートログインします
  2. Shutdown For Finalize アイコンをダブルクリックします。コマンドラインウィンドウに、レイヤー検証プロセスの詳細を示すメッセージが表示されます
  3. 未処理の操作がある場合、プロセスを完了するように求められます。たとえば、Microsoft ngen 操作を完了する必要がある場合、最終処理中のレイヤー整合性メッセージセクションで詳述されているように、ngen 操作を迅速化できます
  4. 保留中の操作が完了したら、Shutdown For Finalize アイコンをもう一度ダブルクリックします

レイヤーは最終処理の準備ができました。

  • 選択したコネクタ構成が Offload Compositing に設定されている場合、レイヤーは自動的に最終処理されます
  • Offload Compositing を使用していない場合は、レイヤーを手動で最終処理します

最終処理中のレイヤー整合性メッセージ

次のレイヤー整合性メッセージは、レイヤーが最終処理の準備ができる前に完了する必要があるキューに入れられた操作を示します。

  • `A RunOnce script is outstanding - check and reboot the packaging machine.`
  • `A post-installation reboot is pending - check and reboot the packaging machine.`
  • `A Microsoft ngen operation is in progress in the background. - An MSI install operation is in progress - check the packaging machine.`
  • `A reboot is pending to update drivers on the boot disk - check and reboot the packaging machine.`
  • `A Microsoft ngen operation is needed.`
  • `Software Center Client is configured to run, but the SMSCFG.INI is still present.` 仮想環境でのSCCMの展開の詳細については、Microsoft TechNetの記事「Implementing SCCM in a XenDesktop VDI environment」を参照してください。

レイヤー整合性メッセージの意味とデバッグ方法の詳細については、「Debugging Layer Integrity Problems in Citrix App Layering 4.x and later」を参照してください。

マシンをシャットダウンしても、レイヤー整合性メッセージをバイパスすることはできません。App Layeringソフトウェアは、プロセスが完了するまでパッケージングマシンに戻します。

Microsoft ngen 操作が進行中の場合、次のセクションで説明するように、それを迅速化することができます。

必要に応じてMicrosoft Ngen.exe 操作を迅速化する

すべてのソフトウェア更新がインストールされたら、Ngen.exe が実質的に.NETバイトコードをネイティブイメージに再コンパイルし、それらを管理するためのレジストリエントリを構築することを許可する必要があります。

Ngen.exe 実行可能ファイルは、.NETシステムの一部であるMicrosoft Native Image Generatorです。Windowsは、インストールされているソフトウェアと構成で検出された内容に基づいて、Ngen.exe を実行するタイミングを決定します。

重要: Ngen.exe が実行されている間は、完了するまで待つ必要があります。中断された Ngen.exe 操作は、機能しない.NETアセンブリや.NETシステム内のその他の問題を引き起こす可能性があります。

通常、Ngen.exe はフォアグラウンドアクティビティがあるときに一時停止するバックグラウンド操作です。Ngen.exe 操作を迅速化するには、タスクをフォアグラウンドに移動して完了させます。

タスクをフォアグラウンドに移動するには:

  1. 管理者としてコマンドプロンプトを開きます
  2. 現在使用中のバージョンの Microsoft.NET\Framework ディレクトリに移動します cd C:\Windows\Microsoft.NET\FrameworkNN\vX.X.XXXXX <!--NeedCopy-->

  3. キューに入れられたすべての項目を実行するために、次の Ngen.exe コマンドを入力します。このコマンドは、アセンブリをビルドする前にキューに入れられたコンポーネントのインストールを処理します ngen eqi 3 <!--NeedCopy-->

    Ngen.exe タスクはコマンドプロンプトでフォアグラウンドに移動し、コンパイルされているアセンブリを一覧表示します。コンパイルメッセージが表示されても問題ありません。

    タスクマネージャー を使用して、MSCORSVW.EXE のインスタンスが実行されているかどうかを確認できます。実行されている場合は、完了するまで待つか、ngen eqi 3 を実行します。

    注意: タスクを停止するために再起動しないでください。タスクが完了するまで待ってください!

  4. すべての Ngen.exe プロセスが完了したことを確認します
  5. 完了したら、デスクトップにある Shutdown For Finalize ショートカットを使用して仮想マシンをシャットダウンします

レイヤーを手動で最終処理する

レイヤーが検証され、シャットダウンされたので、最終処理の準備ができました。

注:

Offload Compositing が有効になっているコネクタを使用している場合、この最終処理プロセスは自動化されており、これらの手動手順を実行する必要はありません。

  1. 管理コンソールに戻ります
  2. Layers > Platform layers を選択し、準備した Version Information タブのレイヤーバージョンを選択します
  3. Finalize をクリックしてレイヤーの作成を完了します
  4. タスクバーを監視して、アクションが正常に完了したことを確認します

レイヤーが検証されると、使用されるストレージスペースを最小限に抑えるためにパッケージングマシンは削除されます。