Login to participate
Endpoint Management & Virtualization BlogsRSS

Why do I have to deactivate all of my layers just to create a new one?

insession's picture

Q:
Peter asks: One of the things I have taken note of is that I cannot install a new layer as long as some layers are active - which would mean that if I have eighty apps installed thru SVS, I would have to deactivate eighty layers before I can install a new one?

A:
Yes, you must deactivate all layers while doing a capture in SVS 2.0. It's a temporary limitation, but here's why we did it that way in the first release:

We took the perspective of the corporate repackager, who typically works on a "clean machine" in a lab to create and edit software packages, including VSP's. In that scenario, we did not want customers inadvertently creating cross-layer dependencies; Altiris doesn't yet provide detection, tracking or management of dependencies between VSP's. So SVS forces you to have no active layers while in capture mode.

Intentionally creating cross-layer dependencies: It's possible to intentionally create dependencies if you wish, if you are confident that your management framework can track and properly handle them for you. Just put the dependency in the base on the machine where you're capturing. For example, internally at Altiris every employee gets an MS Office standard set of apps. Only certain people, however, get Visio, Project and/or OneNote. But the VSP's for those add-on apps were built on a packaging machine with the standard Office installed into the base. IS then uses custom rules in Notification Server to ensure that the add-on apps are never deployed w/o the dependency being present.

[Where it makes sense to manage an app and it's dependency/ies as one thing (in cases where they would always be deployed, maintained and deprovisioned together), of course you can always put them in one VSP by first capturing the dependency and then re-entering capture mode to install the app.]

In the future, SVS, Wise Package Studio and Software Delivery Solution will all be enhanced to allow identification of inter-layer dependencies, let you pull them into the VSP at creation time if you wish, save dependency info as an attribute of the VSP and easily set rules on how dependencies are handled at deployment time.

Btw, allowing a capture while layers are active is essential for a new feature that we have targeted for Lightning:

AutoCapture - Detects common installation processes and automatically puts the result into a new layer. This will allow companies to let employees install their own software w/o worrying about it breaking corporate apps. Also, IT can make it go away easily if they have to. AutoCapture is also essential if we are going to do a consumer-targeted version of this technology; for the typical home user, SVS will have to be as automated and invisible as possible.

A helpful hint in the meantime: Personally, I do all of my captures on a bare-bones XP installation in a VM. But if you do them on your main machine and want to easily put things back to normal when you're done with a capture, the latest version of Trinket has a great new feature. The "Activate 'Start Automatically' Layers" menu item re-activates just the layers that you have flagged to start automatically with Windows.

Editor's note: This FAQ is based on the comments thread for another FAQ. Check it out as well for more good info.

Oh, and another plug for SVS 2.1! It does a single screen refresh when multiple layers are either activated or deactivated at once. This makes turning off and back on even eighty layers fast and painless! Check it out!

erikw's picture

Deactivate apps before new capture

I faced the same problem, and I thought over the process. Do I really wish to have layer dependencies?

The answer is yes, and to reach that goal I altered a DLL that came with SVS.

I now can choose if I wish to use layer dependencies. I'm now working on a version to choose the layer that I wish to use.

The current version I created is built in a way so that I have to deactivate all layers except the one I wish to use for dependencies.

The version I'm now working on is going to get an additional question were all layers will be visible, and you can mark the layer that you need.

If anyone finds it useful, please contact me, and i will post the DLL.

regards
Erik

Regards
Erik
www.DinamiQs.com
Dinamiqs is the home of VirtualStorm (www.virtualstorm.org)

knightnet's picture

I would like to second the

I would like to second the hint about doing installations on a clean VM.

This removes any possibility of contaminated VSA's and also allows you to do a straight import to the live OS without deactivation.

As you can get VMware Player for free, this is a no cost option too!

Julian

insession's picture

Installing layers on a VM

Are you guys suggesting or implying that the vm is used pretty much for nothing else but svs installs? I would assume this, as it seems that it is only this way that the vm stays clean, no?

Wm Jesse Foster's picture

That's how I've always done it

I've always used a VM with nothing but the OS in order to create my layers and have not had any layer portability issues.

I archive the layers on an external storage device so whenever I need the particular app, it's ready within minutes.

erikw's picture

VM

Same for me.

Only a VM with a clean OS just to create clean layers.

Works great.

Regards
Erik
www.DinamiQs.com
Dinamiqs is the home of VirtualStorm (www.virtualstorm.org)

insession's picture

layer creation on a vm only....

Thanks guys - I got it - makes sense, good practice, will do it.

knightnet's picture

Absolutely, I keep a NAS

Absolutely, I keep a NAS device (250GB) with a private area for VSA's. I can also back things up fairly easily from my own machines by dumping all of the layers to archives and then running a standard backup using SyncBack SE.

One thing I want to do when (read IF) I get some time, is to work out a script that will only dump layers that have been activated since a given date/time. If this were in a VB script (or JScript or even a batch file I suppose), I could then build this straight into SyncBack which would run it before doing the backup! This would be a great way to easily keep up-to-date, automated backups of a development machine, something that is always a challenge.

Julian.

Julian

knightnet's picture

Absolutely, I've had far

Absolutely, I've had far fewer issues with layers since I adopted this strategy.

Julian.

Julian