App Layering

XenServer®、Hyper-V、またはvSphereでのOSイメージのレイヤー化の準備

開始する前に、要件を満たしていることを確認してください。イメージの準備中に、必要に応じてMicrosoft Ngen.exe操作を迅速化できます。時間がかかりすぎると感じる場合です。

Windows 10を使用している場合、Citrix Provisioning、マシン作成、またはVMware Viewを実行していない限り、デスクトップの起動時間を短縮できます。この状況では、Windows 10の組み込みアプリケーションを削除できます。OSイメージ自体ではなく、OSレイヤーの新しいバージョンでアプリケーションを削除することをお勧めします。

注:

新しいXenServerコネクターが追加された後、XenServerはUEFIベースのマシンをサポートします。

仮想マシンへのOSのインストール

ISOから、できればハイパーバイザーから、新しくインストールされたOSから始めることが重要です。

この手順では、インストールするWindowsのバージョンに固有の手順と注意事項に必ず従ってください。

  1. ハイパーバイザーのクライアントにログインします。
  2. オペレーティングシステムのタイプに合わせて、適切なCPU、RAM、ハードドライブ、およびネットワーク設定で仮想マシンを作成します。ガイダンス:

    • XenServer仮想マシン: ネットワークは1つのみ選択されていることを確認します。
    • vSphere仮想マシン:
      • ネットワーク: (必須)VMXNET 3ネットワークアダプターを選択します。

      重要:

      ネットワークデバイスは1つのみで、E1000 NICは一度も使用されていない必要があります。デフォルトのE1000アダプター(またはE1000アダプターから残ったゴーストNIC)は、仮想マシンでカスタマイズのタイムアウトエラーを引き起こす可能性があります。

      • シンプロビジョニング: シンプロビジョニングを選択します。
    • すべてのハイパーバイザー:
      • ハードドライブ: 作成したハードドライブにアプライアンスがアクセスできることを確認します。
  3. ISOをアタッチし、オペレーティングシステムをインストールします。このマシンはドメインに参加してはなりません。 ドメイン参加はプラットフォームレイヤーで行う必要があり、ドメイングループメンバーシップの変更はグループポリシーを通じて行う必要があります。
  4. レイヤーをパッケージ化する予定のプラットフォーム用のハイパーバイザーツールをインストールします。複数のハイパーバイザーをサポートしている場合は、イメージの公開に使用する予定のハイパーバイザー用のツールをプラットフォームレイヤーに配置します。

    • Hyper-Vの場合: Microsoft Windows Integration Services Setup Diskを使用してHyper-V Integration Servicesをインストールします。

サーバーOSを使用している場合、リモートデスクトップセッションホスト機能をインストール

Windows Serverを使用する場合、リモートデスクトップセッションホスト機能をインストールする必要があります。リモートデスクトップセッションホストの役割がOSレイヤーにインストールされている場合、Windowsの一部として更新されます。必要に応じて、VDAとともにプラットフォームレイヤーに役割をインストールすることもできます。

OSレイヤーにRDSをインストールする場合、RDSライセンスサーバーを定義するためにローカルGPOを使用する必要があります。そうしないと、時間が経つにつれて、パッケージングマシンにログインする機能が失われます。

セッションホスト機能をインストールするには:

  1. サーバーマネージャーで、役割と機能の追加を選択します。
  2. インストールの種類で、役割ベースまたは機能ベースのインストールを選択します。
  3. サーバーの役割で、リモートデスクトップサービス > リモートデスクトップセッションホスト(インストール済み)を選択します。これにより、C++ライブラリとRDSの役割がインストールされます。
  4. サーバーの役割を追加するプロセスを完了します。

.NET Frameworkの正しいバージョンがインストールされていることを確認(Windows 10およびWindows Server 2016)

.NET FrameworkはMicrosoftが提供するソフトウェアフレームワークであり、多くのサードパーティアプリケーションを実行するために必要です。.NET FrameworkのインストールはすべてOSレイヤーに含める必要があります。これには.NET 3.5および.NET 4.0以降が含まれます。

注:

Citrix Virtual Apps and Desktops(CVAD)2303では、VDAを追加するために.NETバージョン4.8が必要です。

OSレイヤーに.NET Frameworkとすべての更新プログラムを必ずインストールしてください。

Windowsの更新プログラムをインストール

すべてのWindows更新プログラムを必ずインストールしてください。

  1. すべての重要な更新プログラムをインストールします。
  2. 仮想マシンが再起動された後、再度更新プログラムを確認します。一部の更新プログラムは、他の更新プログラムがインストールされた後にのみ利用可能になります。
  3. 必要なサービスパックをすべてインストールします。
    • Citrix Provisioning™でWindows 2008を使用している場合、Windows Server 2008 R2 Service Pack 1(SP1)をインストールします。

      注:

      KB3125574がインストールされている場合、このサービスパックをインストールする前にアンインストールしてください。

  4. ローカルグループポリシーエディターgpedit.mscを使用して、Windows自動更新をクリアし、Windowsシステム復元を無効にします。システムが復元ポイントを処理します。レイヤーバージョンでは、更新プログラムがいつ発生するかを指定できます。
  5. Windows 10: 次のコマンドを入力して休止状態をクリアします。

    powercfg.exe /hibernate off
    <!--NeedCopy-->
    
  6. 組み込みの管理者アカウントを有効にし、パスワードの有効期限なしを選択します。
  7. Key Management Service(KMS)ライセンスを使用している場合、管理者としてコマンドウィンドウを実行し、次のコマンドを入力します。

    slmgr /skms <kmsserverhost>
    slmgr /rearm
    reboot
    slmgr /ipk XXXX-YOUR-KMS-KEY-XXXX
    slmgr /ato
    <!--NeedCopy-->
    
  8. サーバーOSを使用している場合、PowerShellで次のコマンドを実行します。

    Set-ExecutionPolicy Unrestricted
    Enable-PSRemoting
    <!--NeedCopy-->
    

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

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

Ngen.exeはMicrosoft Native Image Generatorであり、.NETシステムの一部です。Windowsは、インストールされているソフトウェアと構成で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コマンドのバリエーションはテスト済みであり、App Layeringのこの状況で機能するバリエーションです。

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

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

    警告:

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

  4. すべてのNgen.exeプロセスが完了したことを確認します。

イメージでApp Layering OS Machine Toolsを実行

イメージをレイヤーで実行できるように準備するには、イメージでOS Machine Toolsファイルを実行します。この実行可能ファイルは、GPOセットアップスクリプト(gposetup.cmd)と、Key Management Service(KMS)バージョンを設定するスクリプトを実行します。このスクリプトはSetKMSVersion.htaと呼ばれます。

  1. 次のzipファイルをOSイメージにダウンロードします。 App_Layering_Citrix_App_Layering_OS_Machine_Tools_20.x.zip
  2. ファイルを次の場所に抽出します。

    c:\windows\setup\scripts
    <!--NeedCopy-->
    

    注:

    ファイルはディレクトリに抽出する必要があります。ディレクトリを変更しないでください。

KMSを使用している場合、ライセンス認証を構成

Key Management Service(KMS)スクリプトが抽出されると、SetKMSVersionユーティリティはKMSライセンスを使用するかどうかを選択するように求めます。

注:

KMSとActive Directoryベースの認証(ADBA)の両方が同時に使用されている環境にイメージを公開すると、認証に問題が発生します。

  1. 表示されるダイアログボックスで、Key Management Service(KMS)ライセンスを使用するかどうかを選択します。

    Set KMS version image

KMSのスクリプトを構成するには、次のようにします。

  1. 次の場所に移動します。

    c:\windows\setup\scripts

  2. 管理者としてSetKMSVersion.htaを実行し、c:\windows\setup\scripts\kmsdirフォルダーにスクリプトを作成します。

オペレーティングシステムが起動すると、適切なKMS認証スクリプトが実行されます。

App Layeringサービスをインストール

  1. c:\windows\setup\scriptsフォルダーで、setup_x86.exe(32ビット)またはsetup_x64.exe(64ビット)を実行します。

これで、イメージを新しいOSレイヤーにインポートする準備ができました。

注:

イメージ準備ツールインストーラーは、OSがインポートされる前に一度実行されていることを確認してください。OSがインポートされた後にイメージ準備ツールインストーラーを実行すると、不明な問題が発生する可能性があります。