App Layering

Citrix Hypervisor、Hyper-V、またはvSphereでレイヤー化するためのOSイメージの準備

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

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

注:

Citrix HypervisorはUEFIベースのマシンをサポートしていません。

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

ISO から新しくインストールされた OS から、できればHypervisor から起動することが重要です。

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

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

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

      重要:

      使用できるネットワークデバイスは 1 つだけです。E1000 NIC は一度も使用したことがないはずです。デフォルトの E1000 アダプタ (または E1000 アダプタから Ghost NIC が残った場合でも) は、仮想マシンでカスタマイズのタイムアウトエラーが発生する可能性があります。

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

    • Hyper-V の場合:Microsoft Windows 統合サービスのセットアップディスクを使用して Hyper-V 統合サービスをインストールします。

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

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

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

セッション・ホスト機能をインストールするには、次の手順で行います。

  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が必要です。

必ず.NET Framework とアップデートを OS レイヤーにインストールしてください。

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

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

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

      注:

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

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

    powercfg.exe /hibernate off
    <!--NeedCopy-->
    
  6. 組み込み管理者を有効にして、[ パスワードの有効期限なし] を選択します。
  7. キー管理サービス (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は、 .NET システムの一部であるMicrosoft ネイティブイメージジェネレータです。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マシンツールを実行する

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

  1. OSイメージに次のzipファイルをダウンロードします。 app_Layering_citrix_app_Layering_OS_machine_tools_20.x.zip
  2. ファイルを展開する場所:

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

    注:

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

KMS を使用している場合は、ライセンスのアクティベーションを構成します

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

注:

KMS と Active Directory ベースのアクティベーション (ADBA) の両方が同時に使用されている環境にイメージをパブリッシュすると、ライセンス認証に問題が発生します。

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

    KMS バージョンイメージの設定

KMS 用のスクリプトを構成するには、次の手順を実行します。

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

    c:\windows\setup\scripts

  2. SetkmsVersion.hta を管理者として実行し、c:\windows\setup\scripts\kmsdir folderにスクリプトを作成します。

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

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

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

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