Jump to content
Welcome to our new Citrix community!
  • 0

Application Layer - NGEN required?


Question

I'm relatively new to application layering.  I'm in the process of creating a POC so we can test out User Layers.  Currently using Carls guide to create the layers, but I'm noticing something odd.  This is windows 10 1909.

 

1. Created an OS layer with only Windows updates, and MS edge installed.

2. Created platform layer with VDA and Workspace app.  Ran NGEN prior to finalizing, no issues.

3. Created Office365 application layer, and before even installing office, I ran NGEN and it processed a bunch of items, with some errors.  I did this due to some NGEN errors I had on my previous attempt (different OS & platform layer).

 

Why would there be NGEN items to run if it finished on the platform layer?

 

 

 

Link to comment

3 answers to this question

Recommended Posts

  • 0

NGEN is a compiler for dot net.  Whenever you install an app that is written in dot net you need to update ngen otherwise it can do the update after you deploy the image creating alot of files and filling up your cache. 

 

I create a batch file in my os layer and put it in system32 to do the ngen.  That way its always available on an packaging machine i create.

 

Rem This script will run ngen update
cd \windows\Microsoft.NET\Framework\v4.0.30319\ngen update
cd \windows\Microsoft.NET\Framework64\v4.0.30319\ngen update

 

Its important to follow the office recipe:

https://support.citrix.com/article/CTX224566

 

Also here are the set of docs I think its good to review when starting out:

https://support.citrix.com/article/CTX225997

https://docs.citrix.com/en-us/tech-zone/design/reference-architectures/app-layering.html

https://www.citrix.com/products/citrix-virtual-apps-and-desktops/resources/understanding-elastic-layering.html

https://www.citrix.com/products/citrix-virtual-apps-and-desktops/resources/app-layering-4x-availability-recovery-guide.html

https://www.citrix.com/blogs/2018/01/08/optimizing-windows-and-citrix-app-layering/

https://docs.citrix.com/en-us/citrix-app-layering/4/layer/layer-antivirus-apps.html

 

Good Luck

 

Link to comment
  • 0

In addition to what Rob posted, I thought he would before me, see the below.

 

During a normal app, platform layer process, each layer is independent of the other, not linked to the others, except for the OS layer,. A copy of the OS layer is needed to create, edit the other layers.  Thus we expect NGEN be ran in the OS layer, the Office Layer, and any other app layer that relies heavily on .Net, since each application may have a different set of assemblies, which need to be compiled, aside from what is in the OS layer. We do not expect ngen be ran in the Platform Layer

 

Here are some urls you may find helpful.

 

https://support.citrix.com/article/CTX224566 - Office recipe

https://www.citrix.com/blogs/2017/06/21/5-tips-for-packaging-your-apps-with-citrix-app-layering/

Also, when you manually run the ngen update, that adds to the size of the layer, and in most cases it is not needed.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...