Tag Archive: Layering


I haven’t posted a sequencing video in a while, so I was due. Then a customer queried me about dealing with a large package. When I looked into the question, I found that the way I used to deal with large packages isn’t supported by the sequencer any more (when did that change?).Sequencing With Tim Mangan

So I worked out a different way, and decided to document it for everyone else.

The Issue

The issue is that the SFT file has a 4GB size documented limit. The 4GB limit is after compression, so you can stuff more in as long as it compresses. As we have seen in the past, the 4GB limit seems to be somewhat of a soft limit; you can go over a little and the package seems to still work — but you are never sure if a user might eventually hit a piece of functionality that crashes the app. And we aren’t sure what “over a little” really means, because packages fail at some point. My friend Nicke has further determined that if you create a small feature block 1, you can create a much larger app that seems to work. But still we worry about those.

The solution to getting under the limit is in understanding that it is a per package limit of the SFT itself. The most common techniques to work around it are:

  • Reduce the size of the app. Often this means a custom install with less features, and/or cleaning files out that are not really needed.
  • Redirecting portions of the package to live on a file share as supported by the app. This requires an app that has some registry based path locations that you can modify.
  • Redirecting portions of the package to live on a file share using the Microsoft App Compat toolkit. This unfortunately involves developing a shim and then requires an external install of the shim at the client to work so it isn’t so popular of a method to use.
  • Moving portions of the package to live in a depdent package and using Dynmaic Suite Composition. This method always works and is supported.

The Universal Solution

The solution that seems to work for all apps is the last one. And this is what I show how to do in the video. When Dynamic Suite Composition (DSC) is used, the sum of all the assets may rise above the 4GB limit. To our knowlege, there is no limit on the sum size of all of the layers. As there is no known limit to the number of dependent packages that you can add. In a practical sense, the limit might just be disk space in the cache, followed by how much memory you have.

The video for lucky Episode 13 may be found here: Sequencing With Tim Mangan. It is about an 18 minute video, and if you pay attention to the system clocks in the VMs, you will see that I shot the two sequencings and client testing all in a single sitting in under 15 minutes.

For some time now, I have been talking about what I labelled “The Data Problem“. While I have been talking about this for over three years, and even as recently as an article on BrianMadden.com last month, vendors have been coming to me to explain how their product solves the problem. This is a huge problem (big enough that I’m not going to try to explain it again in this blog post: see links in this post for that), and todays layering solutions only cover parts of the data problem. This problem comes to us thanks to the richness and history of the Microsoft Operating system and countless guidelines given to their legions of developers on how to write applications. We need more than bandages.

My friend Steve Greenberg over at ThinClient Computing refers to it as C.R.A.P., which stands for “Computer Residue of Applications and Personalization”. A great acronym, for sure.

Ever since I started talking about it, companies have been working on solutions. To be fair, they generally started before I began talking about it, but I was unaware of their efforts. And while I applaud their efforts, I haven’t viewed their solutions as being spot on (yet). In fact, just last month at BriForum I talked about this and said that probably only Microsoft can really address the issue.

Yesterday, Citrix aquired one of the companies working on layering, RingCube. In itself, this may not be such a significant event beyond that of awakening the market even further to layering. Appsense, UniDesk, MokaFive, and TriCerat should all be pleased. All great products, but this doesn’t change the fact that nobody has the right solution yet. These solutions do the most common reasonable steps, essentially capturing too much to be sure they have enough stuff.

So you say “sure Tim, complain complain, but what is the right solution”?

The right solution would be for Microsoft to fix the mess they created. But baring that, we need a layering solution that can understand the different kinds of crap and deal with it the right way. This means understanding application behavior to a much greater extent than they do today. This is why current layering solutions are not the right solution yet.

A great layering solution will understand the difference between things that need to be saved and things that should not. I don’t just mean temp files here, although those need to be identified. There is a ton of stuff written to the windows registry by applicatins that should not be saved too.

A great layering solution will understand when data is generated by a virtual application, where virtualized data might be as important as virtualizing the application binaries. That data should stay inside the virtual bubble IFF is would have stayed inside the virtual bubble without the layering. It might even be able to use information that the appvirt layer knows about the app to make even better decisions.

A great layering solution will also transform the data to make it portable. Think about how App-V makes all of the data references machine and user neutral. A great layering solution would make the data it captures neutral as well, allowing the user to roam to different machines.

A really great layering solution will also work correctly when a user logs on to more than one device at a time. We need better than “last write wins”, we had that with roaming profiles.

So there you go. Four steps to “Layering Done Right”. It’s just a simple matter of programing now. Should see one show up on my doorstep any day now. OK. Maybe not.

Photo Attribute: CCC Scott Roberts

Thoughts on layering

I posted an interesting article up on BrianMadden this week looking at how various folks are trying to do Layering. I find no solution that does it right yet.

Tim’s blogpost on BrianMadden.com