Layer patching provides a mechanism to make small, incremental updates to an existing application layer without requiring that an entirely new layer be created, updated, and then imported to provide an application update.
For example, an existing application layer Firefox 3.01 can be updated to version 3.02 by applying a patch file that only contains the differences between the two versions. This provides the benefit of updating layers without requiring the distribution of an entirely new Firefox 3.02 layer. The benefits of layer patching for software distribution are very significant when applying small, incremental updates to very large application layers. The time, storage and bandwidth savings provided by distributing a small patch file to update an existing layer vs distributing an entirely new updated layer make Layer Patching a critical feature for software distribution use cases.
To create a layer patch file (VPA or Virtual Patch Archive), you need a layer containing the existing version of an application and a second layer containing the updated version of the same application. For example, if you have distributed Firefox 3.01 and want to distribute the updates contained in Firefox 3.02, you can use a VPA file to update the existing layer.
1. If not already imported, import the layer containing the existing version. 2. Create a layer containing the updated version of the application. 3. In the Admin tool, on the File menu, click Create patch... 4. On the Create Layer Patch Archive File dialog box, do the following:
Select the original layer from the Original layer dropdown men
Select the updated layer from the Updated layer dropdown menu.
Click Browse and select the name and file path for the layer patch file. Click Open.
1. In the Admin tool, on the File menu, click Apply Patch... 2. Click Browse and select the name and file path for the layer patch file. Click Open
Click Patch existing layer to apply the patch to an existing layer. This will perform an “in-place” update of the existing layer.
Check the Export before patching box to create a .VSA file of the layer in its original state prior to the application of the patch. The Patch existing layer operation will overwrite the original layer to create the updated, patched layer. Select this option to preserve a copy of the original layer in the event a failure occurs during the patch operation. The original layer can be re-imported to establish the original layer state.
Click Create new layer to apply the patch to a new layer. This will leave the original layer intact.
Check the Copy writeable sublayer from existing layer box to copy the data contained in the writeable sublayer of the original layer to the newly created patched layer.
Dependent layers let you specify an association between layers. Dependent layers are checked for files and services before the base or other layers are checked.
For example, if you have a Java application, you can install a JRE into a dependent layer. The Java application in your layer will then use the JRE from this dependent layer, rather than any JRE installed in the base or another layer.
A layer can always see any dependent layers. This overrides layer visibility settings, such as other layers cannot see this layer. In this case, only the layer containing the dependency can see the dependent layer.
Dependent layers are activated automatically when any layers containing the dependency are activated. However, if a dependent does not activate (e.g. it has not been imported or an error occurred on activation) the main layer will still be activated. An error message will be returned if any dependent layers do not activate. When a layer is deactivated its dependent layers will not be deactivated.
If a dependent layer is deactivated, users will not be warned of the missing dependency.
1. In the Symantec Workspace Virtualization Admin tool, select the layer to which you want to add a layer dependency. 2. Click Layer > Properties..., then click the Dependent layers tab. 3. Right-click and select New Dependent Layer... 4. Select the layer you want to add as a dependent layer and click OK.
1. In the Symantec Workspace Virtualization Admin tool, select the layer from which you want to remove a layer dependency. 2. Click Layer > Properties..., then click the Dependent layers tab. 3. Right-click a layer and select Remove Dependent Layer, then click Yes.
You can set a program to automatically activate a layer and run from it. When run from the layer, the program's processes will be run from the layer instead of the base. Any files created or changes made to existing files will be saved in the layer, rather than the base.
For example, if multiple users are using the same machine for Internet browsing, an Autorun Entry can be created for Firefox, causing the browser to be run from a layer, rather than the base, without having to capture the application to a layer of its own. If any users accidentally download any spyware, resetting the layer will remove any spyware that was saved to the layer while it was active, leaving the base unaffected.
1. In the Admin tool, right-click a deactivated layer. Click Properties... 2. On the Layer Properties window, click the Autorun Applications tab. 3. Right-click inside the tab and click New Autorun Entry. 4. Type in or browse to the application path and click OK. The application must be specified using a full path (e.g. c:\windows\system32\notpad.exe). A shortcut cannot be used to specify an application.
1. In the admin tool, right-click a deactivated layer. Click Properties... 2. On the Layer Properties window, click the Autorun Applications tab. 3. Right-click on an autorun entry and click Remove Autorun Entry. Click Yes.
1. In the admin tool, right-click a deactivated layer. Click Properties... 2. On the Layer Properties window, click the Autorun Applications tab. 3. Right-click on an autorun entry and click Modify Autorun Entry. 4. Type in or browse to the application path to which you would like to change the Autorun Entry and click OK.
Deactivate on last process exit allows you to have a layer automatically deactivate itself after the last process running from the layer has closed. Although this feature can be used stand-alone, it can also be used in tandem with Autorun From Layer to automatically deactivate a layer that may have been automatically activated when it trapped a process.
For example, if multiple users are using the same machine for Internet browsing, an Autorun Entry can be created for Firefox and setting the layer to deactivate on last process exit will cause the layer to deactivate when Firefox has been shut down.
To set a layer to deactive on last process exist, open the Admin tool and right-click on layer you want to deactivate on last process exit. Click Deactivate when last process exits.
Run from layer allows you to execute a program and its processes from a layer. It is a similar feature as the Autorun From Layer, but allows you to run a program from the layer once, rather than automatically.
Running a Program From Layer
1. In the Admin tool, activate the layer from which you want to run a program. Once activated, right-click on the layer and click Run Application From Layer... 2. Browse to the program that you want to run from the layer. Click OK.
1. In the Admin tool, right-click on the layer you wish to clone and click Clone... 2. In the Clone Layer dialogue box, enter the name for the new layer. Checking the Copy writeable sublayer from existing layer box will cause the new layer to have the same writeable sublayer as the original layer. Unchecking the box will create the new layer with an empty writeable sublayer. 3. Click OK. A confirmation window will appear.
Keep file changes in layer enables you to always save changes made to the files in a layer, regardless of how the changes were made.
Typically, layers only save changes that are made by the processes that exist within the layer.
If a file is changed by an external process (such as Notepad), the file is copied to the base and changes are not stored in the layer.
With keep changes in layer enabled, any time a file in the layer is modified by any process (such as Notepad) the change is saved in the layer.
When the layer is deactivated, if this file exists in the base it is in the same state as before the layer was activated.
Keep file changes in layer works with global and layer excludes, as well as data layers.
For example, you have an application in a layer that uses a file stored at C:\myapp\settings.ini for configuration.
This file contains the following:
Servername:server1 & port:2112
You want to change the port used by this application. With this layer active, if you open C:\myapp\settings.ini in notepad and change the following:
Port:8008
This change is not saved in the layer since it wasn’t made by a process in the layer. The original ini file in the layer with the port set to 2112 is still being used by processes in the layer.
With keep file changes in layer enabled, the port change made by notepad will be saved in the layer and the processes in the layer will begin using the new port.
To keep file changes in a layer, open the Admin tool. Right-click on the layer that you want to keep file changes in. Click Keep File Changes in Layer.
This operation copies the existing contents from the writable sublayer to the read-only sublayer. This can help prevent data loss when resetting layers, and simplifies updating a layer before exporting.