Jump to content
Updated Privacy Statement
  • 0

CTXOE Supplement for App Layering


Rob Zylowski

Question

Some folks are starting to use the Citrix Optimizer to make optimization changes to their images for VDI and XenApp.  The Optimizer is still in beta but its a fabulous framework for optimizations.

 

6-5-2019 Note i wanted to update this post.  There has been alot of great work done on the Citrix optimizer and I have updated templates now based on the 2.5 version

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

 

The optimizer now supports using community based templates and I have posted new templates here:

https://raw.githubusercontent.com/ryancbutler/Citrix_Optimizer_Community_Template_Marketplace/master/communitymarketplace.xml

 

You can read about that here:

https://www.techdrabble.com/citrix/35-citrix-optimizer-community-template-marketplace

 

Thanks to Martin Zugec and Ryan Butler for making this all work so easily.

 

 

 

 

 

 

 

  • Like 1
Link to comment
  • Answers 55
  • Created
  • Last Reply

Top Posters For This Question

Recommended Posts

  • 0
1 hour ago, Ewald Bracko1709154210 said:

I'm getting the error message below when I try to open the template.

I also tried both templates.

I'm using the newest Citrix Optimizer. v1.1.0.32.

Maybe you have a clue about what's going on there...

CTXOE-Error.png

I'm glad you see the same error. I'm also using the later Optimzer version. What a coincidence that we posted at roughly the same time!

Link to comment
  • 0

I got the App Layering Supplement working by adding the lines you mentioned but the UWP template created by the PS script still fails after adding the lines. It also seems empty so I guess there's either no UWP apps on the build I'm using or the script is not working with. I suspect the former. Odd that it still will not load and gets an XML error though.

Link to comment
  • 0
2 minutes ago, Martyn Dews said:

I got the App Layering Supplement working by adding the lines you mentioned but the UWP template created by the PS script still fails after adding the lines. It also seems empty so I guess there's either no UWP apps on the build I'm using or the script is not working with. I suspect the former. Odd that it still will not load and gets an XML error though.

 

The UWP template is for Windows 10 only I think.

The only exception might be Windows Server 2016 if it also has Universal Apps installed, but I don't think this is the case.

You need to run  the UWP PowerShell script with administrative privileges.

And Rob mentioned that you will then need to add those two Lines from above into the newly created XML file.

 

 <metadata>
    <schemaversion>1.0</schemaversion>

         <displayname>UPM Template</displayname>
         <description>UPM Template</description> 

  </metadata>

Link to comment
  • 0
5 minutes ago, Rob Zylowski1709158051 said:

mdews749 Did you run the powershell script from an administrative powershell session?  I dont think it will work right otherwise.

Let me test that too with the newer CTXOE

 

Indeed. That is what I had to do to run the scrip successfully.

Otherwise the PowerShell commands for getting the Universal Apps would produce errors if I remember it correct.

Link to comment
  • 0
10 minutes ago, Rob Zylowski1709158051 said:

mdews749 Did you run the powershell script from an administrative powershell session?  I dont think it will work right otherwise.

Let me test that too with the newer CTXOE

OK, I'm an idiot, (in this particular case anyway), running against a W2012R2. Of course there will be no UWP apps! It's been a hard day, and it's still early! :32_expressionless:

Link to comment
  • 0

Ok I just tested the powershell script.  After downloading it I had to unblock it in windows.  Edit the properties and click on the unblock checkbox.  I then ran the PowerShell IDE as administrator and ran the script after making sure the the execution policy was remotesigned.

 

I did get a weird error which I will have to figure out but the xml file was generated correctly. 

I then added the two lines as shown above and ran the Citrix Optimizer again as administrator and the template loaded fine.

 

This was all on Win10 1607.  Server 2016 doesn't have Universal Apps as far as I know so you dont need it there,

Link to comment
  • 0

I have a blog about to be released on the subject but the highlights are

  1. Don't Optimize in your 1.0 version of the OS layer or the Gold Image.  Create a new version of your OS layer and apply the optimizations for the OS layer there.  That way if you cant easily back out an optimization you want to get rid of you can always go back to the 1.0 version.
  2. You are right you need to remove all universal apps in the OS layer.  There is a script in the scripts folder you can use for this which will also disable the windows store.  Our release notes now say you really have to remove all Universal Apps when using 1703 and later for win10 so if your using win10 you need to do this.
  3. Any optimizations that are defined by modifying the default profile woudl either have to be scripted or go in the platform layer.  But i think it wouyld be much better to use GPO's or Citrix policies for these type of optimizations.
  4. After that other optimizations that stop services or disable scheduled tasks can go in any layer.  So it will depend on whether you want to apply them to all your use cases or not.  IOf its all I woudl recommend you use the OS layer becasue it will make your packaging machine like your VDA's will be and also all your optimizations will be in one layer.
  5. The disable ipv6 and tcp offload from the supplmental templ;ate have to go in the OS layer.

Rob

Link to comment
  • 0

Awesome, thanks Rob. Definitely post a link to the blog in this thread when it's finished, if you don't mind.

 

I've made a habit out of leaving v1.0 of the OS Layer for this very reason. It sounds like I can continue doing what I've been doing - all optimizations in the OS Layer. We do utilize GPOs/Citrix policies for other things.

Link to comment
  • 0
On 12/8/2017 at 8:27 AM, Rob Zylowski1709158051 said:

I have a blog about to be released on the subject but the highlights are

  1. Don't Optimize in your 1.0 version of the OS layer or the Gold Image.  Create a new version of your OS layer and apply the optimizations for the OS layer there.  That way if you cant easily back out an optimization you want to get rid of you can always go back to the 1.0 version.
  2. You are right you need to remove all universal apps in the OS layer.  There is a script in the scripts folder you can use for this which will also disable the windows store.  Our release notes now say you really have to remove all Universal Apps when using 1703 and later for win10 so if your using win10 you need to do this.
  3. Any optimizations that are defined by modifying the default profile woudl either have to be scripted or go in the platform layer.  But i think it wouyld be much better to use GPO's or Citrix policies for these type of optimizations.
  4. After that other optimizations that stop services or disable scheduled tasks can go in any layer.  So it will depend on whether you want to apply them to all your use cases or not.  IOf its all I woudl recommend you use the OS layer becasue it will make your packaging machine like your VDA's will be and also all your optimizations will be in one layer.
  5. The disable ipv6 and tcp offload from the supplmental templ;ate have to go in the OS layer.

Rob

 

I've been making most of my optimization tweaks in the OS Layer. It has worked out well thus far, but after attempting to update a batch file in a new OS Layer version, I found that the file was not being updated in my image. I don't recall ever touching this file in the Platform Layer, but I must have because that's the version that keeps coming down. I don't know why I thought that a newer file on a lower priority layer would still work in the layered image, so I may reconsider using the OS Layer for most tweaks if only to prevent something like this from happening in the future.

Link to comment
  • 0

I swear I remember something about two volumes in each layer - the boot volume, and the volume that captures all changes within the layer. Does that sound familiar/accurate? Moral of the story for me is that if you don't plan on using the Platform Layer to host your tweaks, you need to make sure that you're consistent with where you actually do make them.

Link to comment
  • 0

Hey Rob, this is probably a dumb question that I already know the answer to, but for clarification's sake:

 

Let's say that I have a layered image with multiple apps, each having multiple versions. I then create a new OS Layer version, run an optimization script that modifies the Default user's NTUSER.DAT file, and then update the image template with this new layer. That modified NTUSER.DAT file won't actually show up in the image unless I add a version to one of the App Layers, selecting the latest OS Layer in the process, correct? I just updated the NTUSER.DAT in an OS Layer version and the change didn't show up, and I know for a fact that I didn't modify this file in any other layer, so I'm curious if my assumption above is correct. I can always create a separate "optimizations" App Layer and change the priority of it, but I'd prefer to cut down on unnecessary layers if at all possible.

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...