レイヤーの更新

OS、プラットフォーム、またはアプリレイヤーのソフトウェアを更新する手順は、実質的に同じです。レイヤーにバージョンを追加し、パッケージングマシンにアップグレードまたはパッチをインストールし、検証してから、レイヤーを確定します。更新後、新しいレイヤーバージョンを展開しますが、これはレイヤーの種類によって異なります。

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

新しいOSレイヤーをベースとして使用して、プラットフォームレイヤーにバージョンを追加します。パッケージングマシンが起動したら、確定のためにマシンをシャットダウンします。プラットフォームレイヤーは、新しいOSレイヤーバージョンから重要なコンポーネントを収集し、OSバージョンと一致するようにプラットフォームでそれらを更新します。

レイヤーにバージョンを追加する

たとえば、OSレイヤーにバージョンを追加するには、次の手順を実行します。

  1. Citrix App Layering™ 管理コンソールで、[レイヤー] > [OSレイヤー] を選択します。
  2. OSレイヤーを選択し、[バージョン情報] タブで [バージョンを追加] をクリックします。
  3. [バージョン詳細] で:
    1. [ベースバージョン] で、新しいレイヤーバージョンのベースとして使用するバージョンを選択します。デフォルトは最新バージョンです。
    2. [新しいバージョン] の名前を入力します。これはOSバージョンまたはその他の識別情報にすることができます。
  4. レイヤーを作成するハイパーバイザーの [コネクタ構成] を選択します。
  5. パッケージングディスクのファイル名を入力し、コネクタ構成の代わりにアプライアンスのファイル共有を使用している場合は、使用するディスク形式を選択します。このディスクは、アプリケーションをインストールするパッケージングマシン(仮想マシン)に使用されます。
  6. 設定を確認し、[バージョンを追加] をクリックします。これにより、OSバージョンを作成するタスクが実行されます。タスクが完了すると、[アクションが必要です] のステータスが表示されます。タスクを選択して [詳細を表示] をクリックすると、次のテキストが表示されます。

「パッケージングディスクが公開されました。仮想マシン「<…>」は、データセンター「<…>」のフォルダー「<…>」にあります。この仮想マシンを起動してアプリケーションをインストールしてください。インストールが完了したら、アクションバーの [確定] をクリックする前に仮想マシンをシャットダウンしてください。」

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

ハイパーバイザーにパッケージングマシンを展開する

パッケージングマシンは、レイヤーに含める更新プログラムやアプリケーションをインストールする仮想マシンです。パッケージングマシンは、OSレイヤーが最終処理されると削除される一時的な仮想マシンです。

タスクの説明には、このレイヤーのパッケージングマシンが作成されたハイパーバイザー内の場所へ移動するための指示が含まれています。

  1. ハイパーバイザーにパッケージングマシンを作成するには、ステップ2に示されている展開されたパッケージングディスクタスクから始めます。
  2. ハイパーバイザークライアントにログインします。
  3. 管理コンソールに戻り、展開されたパッケージングディスクタスクの指示を使用してパッケージングマシンに移動します。

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

  1. パッケージングマシンにリモートログインします。OSの作成に使用したユーザーアカウントでログインしてください。
  2. Windows Update、Windowsストアアプリの更新、Microsoft Edgeの更新、ウイルス対策アプリケーションなど、新しいOSレイヤーバージョンに含めたい更新プログラムやアプリケーションをインストールします。
  3. アプリケーションのインストールにシステム再起動が必要な場合は、手動で再起動します。パッケージングマシンは自動的に再起動しません。
  4. パッケージングマシンがユーザーにとって望ましい状態になっていることを確認します。
    1. インストールしたアプリケーションにインストール後のセットアップやアプリケーション登録が必要な場合は、今すぐそれらの手順を完了してください。
    2. パッケージングマシンに含めたくない設定、構成、ファイル、マップされたドライブ、またはアプリケーションを削除します。

次に、パッケージングマシンをシャットダウンし、レイヤーが最終処理の準備ができていることを確認します。

注記:

Windows 10をあるメジャーバージョンから別のバージョン(例えば1703から1709)にアップグレードすると、以前のWindowsインストールはC:\Windows.oldフォルダーに残されます。App Layeringでは、このフォルダーを削除してはなりません。アップグレードが完全に完了すると、当社のソフトウェアはドライバーやその他のファイルをWindows.oldからWindowsにコピーする必要があります。OSレイヤーをファイナライズする際に、Windows.oldをクリーンアップします。

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

次のステップは、レイヤーがファイナライズの準備ができていることを確認することです。ファイナライズの準備を整えるには、再起動やMicrosoft ngen プロセスなど、必要なインストール後の処理がすべて完了している必要があります。

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

シャットダウン・フォー・ファイナライズ ツールを使用するには:

  1. パッケージングマシンにログインしていない場合は、マシンを作成したユーザーとしてリモートログインします。
  2. Shutdown For Finalizeアイコンをダブルクリックします。コマンドラインウィンドウに、レイヤー検証プロセスの詳細を示すメッセージが表示されます。
  3. レイヤーをファイナライズする前に完了する必要がある未処理の操作がある場合、それを完了するように求められます。例えば、Microsoft ngen 操作が完了する必要がある場合、以下に詳述するように、ngen 操作を迅速化することができます。
  4. 保留中の操作がすべて完了したら、Shutdown For Finalizeアイコンをもう一度ダブルクリックします。これにより、パッケージングマシンがシャットダウンされます。

レイヤーはファイナライズの準備ができています。

選択したコネクタ構成がオフロードコンポジティングに設定されている場合、レイヤーは自動的にファイナライズされます。そうでない場合、次のステップは、次の手順で説明するように、レイヤーを手動でファイナライズすることです。

レイヤー整合性メッセージ

以下のレイヤー整合性メッセージは、レイヤーがファイナライズの準備ができる前に完了する必要があるキューに入れられた操作を示します。

  • A RunOnce script is outstanding - please check and reboot the Packaging Machine.
  • A post-installation reboot is pending - please check and reboot the packaging machine.
  • A Microsoft ngen operation is in progress in the background. - An MSI install operation is in progress - please check the packaging machine.
  • A reboot is pending to update drivers on the boot disk - please 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. To learn more about deploying SCCM in a virtual environment, see the Microsoft TechNet article, [Implementing SCCM in a XenDesktop VDI environment](https://social.technet.microsoft.com/wiki/contents/articles/23923.implementing-sccm-in-a-xendesktop-vdi-environment.aspx).

レイヤー整合性メッセージの意味とデバッグ方法の詳細については、Citrix App Layering 4.x 以降でのレイヤー整合性問題のデバッグを参照してください。

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

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

必要に応じて、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. .NET Framework 3 以降を使用している場合は、次の Ngen.exe コマンドを入力して、キューに入っているすべての項目を実行します。このコマンドは、アセンブリをビルドする前に、キューに入っているコンポーネントのインストールを処理します。

    ngen eqi 3 <!--NeedCopy-->

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

    すべての Ngen.exe プロセスが完了していることを確認してください。タスクマネージャーを使用して、MSCORSVW.EXE のインスタンスが実行されているかどうかを確認できます。実行されている場合は、完了させるか、ngen eqi 3 を実行してください。

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

  4. .NET Framework 2 以前を使用している場合は、次の Ngen.exe コマンドを入力して、キューに入っている項目を実行します。

    ``` ngen update /force

    
    これにより、ngen タスクがコマンドプロンプトでフォアグラウンドに表示され、コンパイル中のアセンブリが一覧表示されます。
    
    >**注:**
    **コンパイル失敗**のメッセージが表示されても問題ありません。
    タスクマネージャーで MSWORD.EXE のインスタンスが実行されているかどうかを確認してください。実行されている場合は、完了させるか、「`ngen update /force`」を再実行する必要があります。タスクを停止するために再起動しないでください。完了するまで待ってください。
    
    `Ngen.exe` 操作のステータスを確認するには、管理者としてコマンドプロンプトを開き、次のコマンドを実行します: ```ngen queue status<!--NeedCopy-->
    

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

  5. すべての操作が完了したら、デスクトップにあるShutdown For Finalizeショートカットを使用して仮想マシンをシャットダウンします。

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

パッケージングマシンが作成され、アプリや更新プログラムがインストールされたら、レイヤーを確定できます。

注: OSレイヤーの新しいバージョンを確定すると、システムは追加コストが発生しないようにパッケージングマシンを削除します。

レイヤーを確定する準備ができたら:

  1. 管理コンソールに戻ります。
  2. [レイヤー]モジュールで、レイヤーを選択します。
  3. アクションバーで[確定]を選択します。
  4. タスクバーを監視して、アクションが正常に完了し、レイヤーが展開可能であることを確認します。