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

Recipe - App Layering and App-V Precaching


Rob Zylowski

Question

This is another topic that comes up a lot. I hear from customers that want to precache a set of App-V packages/sequences in a published image.  I had worked on this for a large customer a number of years ago, but a lot has changed since then, and I wanted to make sure the process still worked as I found back then.  My initial assumption was that App-V had to be enabled in the OS layer, then using that OS layer only a single App-V layer could be used to cache the packages. It turns out this is not the case and multiple App-V layers can be used as ill show below.

To test, I set up a sequencing machine with Windows 10 and took a snapshot after installing the App-V sequencer using the Windows ADK.  I created four packages and copied each one to a network share.

I then added a version to my OS layer to enable App-V using the PowerShell command “Enable-Appv”.  Yes, that part was very complex ? I rebooted once then finalized the OS Layer.

Then I created an App Layer to install a few of the packages.  When the Packaging Machine was booted, I logged in and ran two PowerShell commands (As Admin) per package:

·         Add-AppvClientpackage

·         Publish-AppvClientPackage

 

This was the output from the add command: note the path to the appv file on the file share.

 

image.thumb.png.ab3e1fd9ff952ec93cc1d959c7ceb7b6.png

 

This was the output from the Publish command:  Note we are enabling the package globally so all users will have access.

 

appvblog2.thumb.png.318e800f1f3b7700464904cdd96a3b81.png

 

After the package is added, the package files are copied from the network share to the ProgramData\App-V folder on the packaging machine. However, if you just create the sequence normally only FeatureBlock 1 is pre-copied, not the entire package. If you looked at the file system in ProgramData you would see something like this with gray x’s next to many files.

 

appvblog3.thumb.png.d8a4230ea7fbc2a1e0aaadca5720df8d.png

 

This is OK if you want the users to load the application from the share just make sure that is what is intended. If you want to fully precache the entire package you need to enable that when you sequence by checking the “force applications to be fully downloaded before launching.

 

appvblog4.thumb.png.8a991055098b6b82b6b3121a5494c5d4.png

 

Then when you create the layer and launch the application all the files will be cached as seen below.

 

appvblog5.thumb.png.755a1b3c460a938194de1bce919f907c.png

 

After adding the package there are no shortcuts created on the desktop.  If you have them, they will appear after the publish command is run.

After publishing all the packages and running them to pre-cache the files, I rebooted the packaging machine then finalized the layer. I then published an image with the new OS layer and App-V layer and tested and everything worked as expected including any elastic layers I had. Then I thought, I wonder if I could have more than one App-V layer.  I always thought there was metadata that would conflict and in the past it seemed that using multiple App-V layers caused issues but I thought I would try again because its been a couple of years since I tried.  So, I created a new App-V layer with one other application and republished the image.

 

What I found was that all the applications were present and still worked. That made me happy!

 

Rob

Link to comment

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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