Sei sulla pagina 1di 99

Symantec Workspace

Virtualization 6.1 SP6 User's


Guide
Symantec Workspace Virtualization 6.1 SP6 User's
Guide
The software described inthis book is furnished under a license agreement and may be used
only in accordance with the terms of the agreement.
Documentation version: 6.1 SP6
Legal Notice
Copyright 2010 Symantec Corporation. All rights reserved.
Symantec and the Symantec Logo are trademarks or registered trademarks of Symantec
Corporationor its affiliates inthe U.S. andother countries. Other names may be trademarks
of their respective owners.
This Symantec product may contain third party software for which Symantec is required
to provide attribution to the third party (Third Party Programs). Some of the Third Party
Programs are available under opensource or free software licenses. The License Agreement
accompanying the Software does not alter any rights or obligations you may have under
those opensource or free software licenses. Please see the ThirdParty Legal Notice Appendix
to this Documentation or TPIP ReadMe File accompanying this Symantec product for more
information on the Third Party Programs.
The product described in this document is distributed under licenses restricting its use,
copying, distribution, and decompilation/reverse engineering. No part of this document
may be reproduced in any form by any means without prior written authorization of
Symantec Corporation and its licensors, if any.
THEDOCUMENTATIONISPROVIDED"ASIS" ANDALLEXPRESSORIMPLIEDCONDITIONS,
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT,
ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO
BELEGALLYINVALID. SYMANTECCORPORATIONSHALLNOTBELIABLEFORINCIDENTAL
OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH THE FURNISHING,
PERFORMANCE, OR USE OF THIS DOCUMENTATION. THE INFORMATION CONTAINED
IN THIS DOCUMENTATION IS SUBJECT TO CHANGE WITHOUT NOTICE.
The LicensedSoftware andDocumentationare deemedto be commercial computer software
as defined inFAR12.212 and subject to restricted rights as defined inFARSection52.227-19
"Commercial Computer Software - Restricted Rights" and DFARS 227.7202, "Rights in
Commercial Computer Software or Commercial Computer Software Documentation", as
applicable, and any successor regulations. Any use, modification, reproduction release,
performance, display or disclosure of the Licensed Software and Documentationby the U.S.
Government shall be solely in accordance with the terms of this Agreement.
Symantec Corporation
350 Ellis Street
Mountain View, CA 94043
http://www.symantec.com
Printed in the United States of America.
10 9 8 7 6 5 4 3 2 1
Technical Support
Symantec Technical Support maintains support centers globally. Technical
Supports primary role is to respond to specific queries about product features
andfunctionality. The Technical Support groupalso creates content for our online
Knowledge Base. The Technical Support group works collaboratively with the
other functional areas within Symantec to answer your questions in a timely
fashion. For example, the Technical Support groupworks withProduct Engineering
and Symantec Security Response to provide alerting services and virus definition
updates.
Symantecs support offerings include the following:
A range of support options that give you the flexibility to select the right
amount of service for any size organization
Telephone and/or Web-based support that provides rapid response and
up-to-the-minute information
Upgrade assurance that delivers software upgrades
Global support purchased on a regional business hours or 24 hours a day, 7
days a week basis
Premium service offerings that include Account Management Services
For information about Symantecs support offerings, you can visit our Web site
at the following URL:
www.symantec.com/business/support/
All support services will be delivered in accordance with your support agreement
and the then-current enterprise technical support policy.
Contacting Technical Support
Customers with a current support agreement may access Technical Support
information at the following URL:
www.symantec.com/business/support/
Before contacting Technical Support, make sure you have satisfied the system
requirements that are listed in your product documentation. Also, you should be
at the computer onwhichthe problemoccurred, incase it is necessary to replicate
the problem.
When you contact Technical Support, please have the following information
available:
Product release level
Hardware information
Available memory, disk space, and NIC information
Operating system
Version and patch level
Network topology
Router, gateway, and IP address information
Problem description:
Error messages and log files
Troubleshooting that was performed before contacting Symantec
Recent software configuration changes and network changes
Licensing and registration
If your Symantec product requires registrationor alicense key, access our technical
support Web page at the following URL:
www.symantec.com/business/support/
Customer service
Customer service information is available at the following URL:
www.symantec.com/business/support/
Customer Service is available to assist with non-technical questions, such as the
following types of issues:
Questions regarding product licensing or serialization
Product registration updates, such as address or name changes
General product information (features, language availability, local dealers)
Latest information about product updates and upgrades
Information about upgrade assurance and support contracts
Information about the Symantec Buying Programs
Advice about Symantec's technical support options
Nontechnical presales questions
Issues that are related to CD-ROMs or manuals
Support agreement resources
If you want to contact Symantec regarding an existing support agreement, please
contact the support agreement administration team for your region as follows:
customercare_apac@symantec.com Asia-Pacific and Japan
semea@symantec.com Europe, Middle-East, and Africa
supportsolutions@symantec.com North America and Latin America
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Chapter 1 Introducing Symantec Workspace
Virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
About Workspace Virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Solving Problems with Workspace Virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Provisioning and deprovisioning applications is disruptive to
the user and time consuming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Recovering a damaged application is time consuming . . . . . . . . . . . . . . . . . . . 12
Conflicting applications are difficult or impossible to
manage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Migratingtonewapplicationversions requires significant testing
and planning; takes a long time to execute and rollback is
difficult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
How Workspace Virtualization works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
About file and registry redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
About Virtual Software Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
About Extensible Package Format (XPF) files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Virtual Software Layer architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Chapter 2 Planning for the use of Virtual Software
Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
About working with virtual software packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Virtual software package workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
What you can virtualize using the Workspace Virtualization
Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
How to prevent the loss of application data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Where you can use Virtual Software Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
How the Workspace Virtualization Agent affects security . . . . . . . . . . . . . . . . . . . . 21
Rights to modify a virtual software package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Rights to user-specific data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Rights to start programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
About handling duplicate services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
About multiple concurrent user support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Contents
Chapter 3 Installing the Symantec Workspace Virtualization
Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Supported platforms for the Workspace Virtualization Agent . . . . . . . . . . . . . . 25
Installing the Workspace Virtualization Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Installing the Workspace Virtualization Agent silently . . . . . . . . . . . . . . . . . . . . . . . 27
What the Workspace Virtualization Agent installs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Upgrading the Workspace Virtualization Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Uninstalling the Workspace Virtualization Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Troubleshooting Workspace Virtualization Agent installations . . . . . . . . . . . . 30
Cleaning up a failed Workspace Virtualization Agent
installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Removing the WMI Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Uninstalling the Agent in Runtime Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Chapter 4 Creating virtual software layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
About the creation of virtual software layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Types of virtual software layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Methods for capturing virtual software layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Creating an application layer using single program capture . . . . . . . . . . . . . . . . . 35
Creating an application layer using global capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Adding an application to an existing layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Creating a data layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Creating an empty layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Chapter 5 Editing virtual software layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Configuring a virtual software layer to start automatically . . . . . . . . . . . . . . . . . . 44
Activating a virtual software layer using a desktop shortcut . . . . . . . . . . . . . . . . 44
Editing the files in a virtual software layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Editing the registry settings of a virtual software layer . . . . . . . . . . . . . . . . . . . . . . . 46
Editing a data layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Adding exclude entries to virtual software layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Adding a layer exclude entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Adding a global exclude entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Adding a global user profile exclude entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Ignoring the global exclude list for a single layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Transferring global excludes to another computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Adding a delete entry to a virtual software layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
About updating a virtual software layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Updating a virtual software layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Creating a layer patch to update a virtual software layer . . . . . . . . . . . . . . . . . . . . . 54
Renaming a virtual software layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Contents 8
Chapter 6 Managing virtual software layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
About the management of virtual software layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Actions you can perform to manage layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Exporting a virtual software layer to an archive file . . . . . . . . . . . . . . . . . . . . . . 59
Importing a virtual software archive file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Activating and deactivating virtual software layers . . . . . . . . . . . . . . . . . . . . . . 61
Resetting application layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Deleting virtual software layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Testing a virtual software layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Interoperability with antivirus scanners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Hiding the FSLRDR redirection areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Viewing the properties of a virtual software layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Viewing variables used in a virtual software layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Chapter 7 Layer operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Hide a layer from other layers or from the operating system . . . . . . . . . . . . . . . . 67
Add a layer dependency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Deactivate on last process exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Clone a layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Keep all data in layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Capture changes made by non-virtualized applications . . . . . . . . . . . . . . . . . . . . . . . 70
Chapter 8 Technical reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
About system variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
SVSCMD command-line parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
SVSCMD parameter flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
SVSCMD command-line examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Virtual software layer attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
How layer prioritization works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
How to set the HKCR priority of a layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Windows Management Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
VirtualSoftwarePackage class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
VirtualSofwareSublayer class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Using WMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Workspace Virtualization functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
WMI sample scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
OnEvent actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9 Contents
Contents 10
Introducing Symantec
Workspace Virtualization
This chapter includes the following topics:
About Workspace Virtualization
Solving Problems with Workspace Virtualization
How Workspace Virtualization works
About file and registry redirection
About Virtual Software Layers
About Extensible Package Format (XPF) files
Virtual Software Layer architecture
About Workspace Virtualization
Symantec Workspace Virtualization(SWV) is a revolutionaryapproachtosoftware
management. By placing applications and data into managed units called Virtual
Software Layers, Workspace Virtualization lets you instantly activate, deactivate
or reset applications and to completely avoid conflicts between applications
without altering the base Windows installation.
Rather than isolating applications to gain control, Symantec's application
virtualization technologies seamlessly integrate virtualized applications to
preserve the user experience. Virtualizedapplications act like normal applications,
ensuring normal behavior and full functionality.
In addition to preserving the user experience, Workspace Virtualization lets you:
Instantly repair damaged applications by resetting them to a known state.
1
Chapter
Run two version of the same program side by side.
Addandremove software withzeroimpact onthe underlyingoperatingsystem.
Turn applications on and off instantly.
The end result is a more managable desktop. Application conflicts are eliminated
along with the problems associated with failed and corrupted software
installations.
Workspace Virtualizationis basedonSymantec's patentedcore technologyknown
as the SWV File System Filter driver.
Solving Problems with Workspace Virtualization
Workspace Virtualizationsolves the following commonapplicationmanagement
problems:
Provisioning and deprovisioning applications is disruptive to the user
and time consuming
With Software Virtualization Solution, you can easily deploy virtualized
applications without running an application install or uninstall on client
computers. Application availability is instantaneousyou can easily and
immediately activate or deactivate your applications by sending a single command
to the client computer. The user is not required to have system rights to run an
installation, and you dont have to worry about restarting when you activate or
deactivate an application. The solution can also register any services that the
application installed with the Windows Service Control Manager, which then
loads the service so that the application is fully functional.
Recovering a damaged application is time consuming
Rather than repairing or recovering a damaged application, you can simply reset
it to the original deployedcondition. Applicationresets canbe performedinstantly
or on a schedule. An application can be reset whether the client computer is
connected to the network or not. Resetting a virtual application does not damage
other applications installed on the computer.
Conflicting applications are difficult or impossible to manage
Workspace Virtualization ensures applications use the correct files and registry
settings without modifying the operating system and interfering with other
applications. This provides numerous benefits, including improved reliability and
Introducing Symantec Workspace Virtualization
Solving Problems with Workspace Virtualization
12
flexibility. Example: When installing new software or application updates,
administrators might inadvertently replace newer .DLLs with older .DLLs, which
cancause immediate problems betweenapplications sharing those .DLLs, causing
application failure or reintroducing security holes that previously were patched.
With Workspace Virtualization, you can stop worrying about DLL hell. Other
benefits include allowing different versions of the same application to co-exist
on the same computer.
Migrating to newapplication versions requires significant testing and
planning; takes a long time to execute and rollback is difficult
Rolling out new versions of an application requires significant time to test for
conflicts and reprovisiong lab testing computers. Workspace Virtualization
simplifies predeployment testing, accelerates the deployment cycle, and reduces
post-deployment support costs. With Workspace Virtualization, you can host
multiple versions of anapplicationonthe same systemwithout conflicts between
older andnewer files. Evenphasedrollouts are greatlyacceleratedbecause rollback
can occur immediately at any time. Once the transition froman older application
toa newer applicationis complete, simplydeactivate andremove the older version.
How Workspace Virtualization works
An application or set of data is virtualized by using a capture process that creates
a Virtual Software Package (VSP). AVSPcontains all the files and registry settings
of the application or data. A VSP can be used on a client computer that has the
Workspace VirtualizationAgent. The VSPis installedto a special area onthe hard
drive. After the VSP is activated through the Workspace Virtualization Agent,
the application becomes visible along with its files, folders, and settings. Even
thoughit is a virtual application, it looks and behaves like any other application
to the end user.
About file and registry redirection
Each Virtual Software Package (VSP) is managed by SWV as a distinct entity.
When activated, VSPs are like layers over the base Windows operating system
so the system appears to contain the aggregate contents of the base operating
system plus the active VSPs.
When a VSP is imported onto a computer, the contents of the VSP (both files and
registry settings) are placed in a folder in a special protected SWV area on the
hard dive, referred to as the SWV redirection area.
13 Introducing Symantec Workspace Virtualization
How Workspace Virtualization works
When a VSP is imported on a client computer, the contents of the VSP are placed
in the redirected folder, such as C:\fslrdr\1. When the VSP is activated on a client
computer, the contents of the VSP are made available to the user. The files and
settings appear to the user in the location they would be in if the application had
been installed on the computer.
Example: You have a VSP for Mozilla Firefox. When the Firefox VSP is activated,
all the contents of the VSP are layered over the base file systemand registry to
make it visible to the user. The user thensees its appropriate folders, files, registry
settings, andshortcuts. Whenthe contents are made visible, they are not displayed
in the hidden area, but they are displayed in the locations that the user would see
them had Firefox been installed on the computer. Example: Even though the
Firefox application file may physically be located at
C:\fslrdr\1\PROGRAMFILES\Mozilla Firefox\firefox.exe
To the user, it is visible as
C:\Program Files\Mozilla Firefox\firefox.exe
Workspace Virtualization accomplishes this by using a filter that intercepts
requests to the file system and registry, and when needed, redirects requests to
the active VSPs. Workspace Virtualizationuses the SWVFile SystemFilter Driver
to aggregate the real and virtual file systems into a single view for the end-user.
This process is displayed in the following figure:
Introducing Symantec Workspace Virtualization
About file and registry redirection
14
The file system display in the lower left represents the base environment
Windows operating system files, data and applications installed conventionally.
The file systemdisplay inthe lower right represents virtualized data that is stored
in the isolated, hidden redirection area.
The file system display at the top represents what the system, applications and
users see.
The SWV filter driver presents an aggregate view of the real file system and the
layered virtual file system and registry. Gold represents data from the real file
system. Blue represents data from a layer in the virtual file system. When an
application or Windows requests a file, the request goes through the filter driver,
which determines whether the request should be passed through to the real file
system or redirected to a layer in the virtual file system.
If the file is in the real file system the request proceeds normally. If the filter
driver determined that the file is in a layer in the virtual file system, the request
is redirected to the layer files. In both cases, however, the application peforms a
normal file open request and has no idea that the filter driver is even there or
what it is doing.
Withredirection, SWVcanmaintaindiscrete settings andfile versions for different
applications on a single system. By working with VSPs, a required version of a
file will never be overwritten. This is particularly important whenyouare working
with Dynamic Link Libraries (DLL). Incompatible .DLL files are known to cause
application instability. By using applications within VSP, you can ensure that
applications use its own set of .DLL files without interfering with the rest of the
operating system or other applications running at the same time.
This extends not onlytofiles that relate toapplications, but alsotoregistrysettings
and data files.
About Virtual Software Layers
When an application or set of data is captured into a Virtual Software Package,
everything that is captured is contained in a layer. The layer represents all
the files and registry settings that make up the virtualized application or data.
Typically, one layer is createdfor one application. However, one layer cancontain
multiple applications. Each layer is managed as a single entity.
The files and settings captured in a layer are stored in the SWV redirection area
onthe computers hard drive. However, whena layer is active, all files and settings
appear in the system just as they would if the application or data was installed
on the computer. This is accomplished through redirection using the SWV File
System Filter Driver.
15 Introducing Symantec Workspace Virtualization
About Virtual Software Layers
About Extensible Package Format (XPF) files
If you want to make a layer portable so that it can be used on another computer,
the contents of the layer are exported to a single XPF file.
XPFfiles canthenbe copied or deployed to other computers. To make the contents
of the XPF usable on a computer, the XPF must be imported using the Workspace
Virtualization Agent. When an XPF is imported on a computer, the layer (the files
and registry settings in the XPF) are installed to the SWV redirection area on the
client computers hard drive.
Symantec provides a dedicated application, called Wise Virtual Composer, to
create XPF packages. See the Wise Virtual Composer User's Guide for additional
details on XPF files and application packaging.
Virtual Software Layer architecture
There are two components or sublayers in a layer:
Contains all captured files and settings. The XPF packages that
contain applications provide the read-only sublayer.
Read-only sublayer
Contains any files or settings that are added or changed by a
user of a layer.
Writeable sublayer
For example, you create a layer for Firefox. As a person uses Firefox, they may
make some changes to the program. They may select a unique home page, add
bookmarks, or change the original security settings. They may also install a
browser plug-in. Those user changes are stored in the Writeable sublayer. The
original files and settings are maintained in the Read-only sublayer.
Having these distinct sublayers is useful in being able to reset a layer. When a
layer is reset, any data added by a user is deleted, and the layer is returned to its
original configuration. Example: If a users Firefox application ever becomes
damaged, you can simply reset the layer to restore it to the way it was first
deployed. The application does not have to be uninstalled/reinstalled.
Resettinglayers alsomaintains specific versions andconfigurations of applications
across your network. You can control how the applications are installed and
configured on client computers.
Introducing Symantec Workspace Virtualization
About Extensible Package Format (XPF) files
16
Planning for the use of
Virtual Software Packages
This chapter includes the following topics:
About working with virtual software packages
Virtual software package workflow
What you can virtualize using the Workspace Virtualization Agent
How to prevent the loss of application data
Where you can use Virtual Software Packages
How the Workspace Virtualization Agent affects security
About handling duplicate services
About multiple concurrent user support
About working with virtual software packages
The Symantec Workspace Virtualization Agent provides different interfaces
for working with Virtual Software Packages (VSPs). The following table explains
the differences between the interfaces:
Table 2-1 Workspace Virtualization interfaces
Description Interface
This tool lets you create, edit, and manage virtual
software packages.
SWV Admin tool
2
Chapter
Table 2-1 Workspace Virtualization interfaces (continued)
Description Interface
The SVSCMD executable file is installed with the
Workspace Virtualization Agent. You can run it with
its command-line parameters to work with VSPs.
See SVSCMD command-line parameters
on page 72.
SVSCMD executable file
When you install the Workspace Virtualization Agent, you have the option to
install the SWV Admin tool. You can also install it later by modifying the
installation.
See Installing the Workspace Virtualization Agent on page 26.
See What you can virtualize using the Workspace Virtualization Agent
on page 19.
See How to prevent the loss of application data on page 19.
See Where you can use Virtual Software Packages on page 21.
See Virtual software package workflow on page 18.
See How the Workspace Virtualization Agent affects security on page 21.
See About handling duplicate services on page 23.
Virtual software package workflow
The following steps illustrate a typical workflow:
Capture an application into a virtual software layer.
See About the creation of virtual software layers on page 33.
Export the layer to virtual software archive file.
See Exporting a virtual software layer to an archive file on page 59.
Deploy the archive file to a client computer.
Import the archive file into a layer on the client computer.
Import the archive file into a layer on another computer.
See Importing a virtual software archive file on page 60.
Activate the layer to access the application.
See Activating and deactivating virtual software layers on page 61.
Youcanuse the SWVAdmintool or the SVSCMDexecutable file to capture, export,
import, and activate layers.
Planning for the use of Virtual Software Packages
Virtual software package workflow
18
See SVSCMD command-line parameters on page 72.
See SVSCMD command-line parameters on page 72.
After you capture a layer and before you export it, you can also edit it. You can
use the SWV Admin tool to edit a layer.
See Editing the files in a virtual software layer on page 45.
What you can virtualize using the Workspace
Virtualization Agent
Use the following guidelines to determine what youcanandshouldnot virtualize:
Most applications can be virtualized. Typical applications
include office suites, databases, Internet browsers, media,
and spyware utilities. Applications functionnormally when
virtualized by the Workspace VirtualizationAgent. Youcan
also create virtualized data layers.
What you can virtualize
Windows operating system components
Windows operating system patches
Most drivers
Applications that have dedicateddrivers (example: Client
firewalls)
All management agents including antivirus software,
security scanners, encryption agents, or any Symantec
Management Platform Agent
Data files that you plan to encrypt
Utilities that are designed to run only in safe mode
(Workspace Virtualization does not run in safe mode)
What you should not
virtualize
See About working with virtual software packages on page 17.
How to prevent the loss of application data
Whenanapplicationlayer creates or modifies files they are stored inthe writeable
sublayer. If the layer is then reset, the files in the writeable sublayer are deleted.
This behavior lets you reset an application to the default state if settings become
corrupted. However, many applications create data files that you do not want to
lose when a layer is reset. These files need to be stored on the base file system
and not in the layer to prevent potential loss.
19 Planning for the use of Virtual Software Packages
What you can virtualize using the Workspace Virtualization Agent
For example, you create and activate a Microsoft Word layer. You do not create
any layer exclude entries, global exclude entries, or data layers to redirect .doc
files from the layers writeable sublayer. You then activate the Microsoft Word
layer and use it to create .doc files that you save on the computers hard drive. If
you then reset the Word layer, all of the .doc files you created are lost.
To prevent the loss of applicationdata whena layer is reset, you must ensure that
the data is not stored in the application layer.
The Workspace Virtualization Agent provides the following methods that you
can use to prevent the loss of application data:
Table 2-2 Methods to prevent data loss
Description Method
You can create a data layer that captures the application
data files that have specified extensions or that are in a
specified directory. A data layer captures the application
data so that it is not redirected to the writeable sublayer of
the application layer.
Data layer
Youcancreate layer exclude entries for anapplicationlayer.
A layer exclude entry can be a file extension or a directory.
Application data that matches the layer exclude entry is
saved in the base file system.
See Adding a layer exclude entry on page 48.
Layer exclude entry
You can create global exclude entries for a computer. A
global exclude entry can be a file extension or a directory.
A global exclude entry applies to all layers on a computer.
Application data that matches the global exclude entry is
saved in the base file system.
See Adding a global exclude entry on page 49.
Global exclude entry
Youcansave the applicationdata of a virtualizedapplication
to a non-local storage device, such as a network share. The
data is then not redirected to the application layer.
Non-local storage
You can copy the data from the writeable sublayer to the
read-only sublayer using a new reset point.
See Resetting application layers on page 61.
New reset point
See About working with virtual software packages on page 17.
Planning for the use of Virtual Software Packages
How to prevent the loss of application data
20
Where you can use Virtual Software Packages
After you create virtual software packages (VSPs) with the Workspace
Virtualization Agent, you can use them in the different environments. The
following table indicates the environments in which VSPs can be used:
Table 2-3 VSP environments
Description Environment
Workspace Streaming provides native support for delivering
Virtual Software Packages. See the Symantec WorkspaceStreaming
Admin Guide.
Symantec Workspace
Streaming
With Notification Server 7.0 and later, the Workspace
Virtualization Agent lets you create tasks and policies to deliver
and manage virtual software layers on client computers. See the
Software Management Solution User's Guide .
WithNotificationServer 6.x, the Workspace VirtualizationAgent
lets you create tasks and policies to deliver and manage virtual
software layers on client computers. See the Software
Virtualization Solution 6.x Help.
Altiris Notification
Server
Deployment Solution lets you create jobs to deploy and manage
virtual software layers. See the Deployment SolutionAdminGuide
(6.x) or the Deployment Solution User's Guide (7.x).
Altiris Deployment
Solution
The Workspace Virtualization Agent works independently of the
Altiris framework. BecauseAPI, WMI, andcommand-lineinterfaces
are supported, you can manage client-side operations with any
desktop management product. See the Altiris Software Developer
Kit (SDK).
Standardmanagement
frameworks
You can use VSPs in a stand-alone environment. To use VSPs,
install the SWV Admin tool on a computer and then create or
import existing VSPs.
Stand alone
See About working with virtual software packages on page 17.
How the Workspace Virtualization Agent affects
security
The Workspace Virtualization Agent uses the security systems that are built into
the Windows NT family of operating systems. Access Control Lists (ACLs) in the
registry and the file systemcontrol access to the Workspace VirtualizationAgent.
21 Planning for the use of Virtual Software Packages
Where you can use Virtual Software Packages
The ability to protect files and directories through ACLs requires the use of the
NTFS file system. ACLs on virtualized items (registry entries, files, and services)
are persisted normally. The Workspace Virtualization Agent moves the ACLs
when a Virtual Software Package (VSP) is exported and imported.
The following sections contain a description of how security works in several
different areas for Virtual Software Packages (VSPs):
See Rights to modify a virtual software package on page 22.
See Rights to user-specific data on page 22.
See Rights to start programs on page 23.
Rights to modify a virtual software package
To modify a Virtual Software Package (VSP), a user must generally be a member
of the local administrators group. The following are exceptions to the general
rule:
Users that have read access to the HKLM\System\CurrentControlSet\
Services\FSLX\Parameters\FSL\Rights\Activate key can activate VSPs.
Users with read access to the HKLM\System\CurrentControlSet\
Services\FSLX\Parameters\FSL\Rights\Deactivate key can deactivate VSPs.
Auser has the same rights to the files and registry keys inthe redirectionareas
as if the application had been installed normally. This accessibility is not a
problemif anapplicationproperly creates ACLs for its files during installation.
Rights to user-specific data
Data layers and the writeable sublayer of applicationlayers are user-specific. This
means that the layer has a unique area for each user that holds the information
that is unique to each user. These unique areas exist under a SID directory that
is named with a string representation of the user's SID. This directory contains
subdirectories like the user's profile directory and desktop directory. You can see
the SID directories in the Edit Layer dialog box on the Files and Registry tabs.
See Editing the files in a virtual software layer on page 45.
The read-only sublayer of an application layer does not contain unique entries
for each user. It contains only one copy of user data that is contained in a section
that is named USER_TEMPLATE. During the capture process, any user-specific data
goes into this area. When any user uses the layer outside of capture mode, a SID
directory is created for the current user. The contents of the USER_TEMPLATE area
are copied to this directory. The USER_TEMPLATEarea inthe read-only sublayer
is not used during normal operation.
Planning for the use of Virtual Software Packages
How the Workspace Virtualization Agent affects security
22
Files, directories, and registry keys are protected withthe same rights that protect
the corresponding objects in the base. For example, when the DESKTOP folder is
created inthe layer, the ACLs are copied fromthe user's base DESKTOP folder. This
process ensures that only the proper users have rights to this folder.
When a layer is exported, the rights that are contained in the file system are
represented in a file that is named ACLS in SDDL format. At import time, after the
files and directories have been extracted, this information is used to re-apply the
proper rights.
Rights to services are handled in a similar fashion. An SDDL string is generated
and used to maintain the proper rights on the service
Rights to start programs
When a layer is activated, the Workspace Virtualization Agent typically starts all
of the items in the layer that are configured to run at startup. These programs
run as the user who activates the layer. For example, when a layer is activated
remotely by Notification Server, it happens in the SYSTEM context by default.
Therefore, the Workspace Virtualization Agent does not start an itemunless the
interactive user who is logged onto the system does the activation.
This control over the starting of programs does not apply to the OnEvent actions.
OnEvent actions are runregardless of howthe layer is activated. Youmust ensure
that OnEvent actions are executed according to your security policies.
About handling duplicate services
The Workspace Virtualization Agent uses reference counts to properly control
the creation, starting, stopping, and deletion of services with the Service Control
Manager. The reference count information is stored under
HKLM\SYSTEM\CurrentControlSet\Services\FSLX\Parameters\FSL\Services.
For example, a service is run from the base and the same service is then started
again through a layer. When you deactivate the layer, the first instance of the
service continues to run.
See About working with virtual software packages on page 17.
About multiple concurrent user support
Workspace Virtualization supports multiple concurrent user environments.
Multiple users can connect to a terminal server and run virtualized applications
and not affect other users. Virtualized applications must natively support use in
23 Planning for the use of Virtual Software Packages
About handling duplicate services
aterminal server environment. Support is providedfor roamingprofiles inmultiple
concurrent user environments.
Layers are activated on the server level, rather than the user level. Admin
operations should be restricted to a single user to prevent conflicts. Exporting
layers inmultiple concurrent user environments is not recommendedas the layer
likely contains large amounts of user data.
Planning for the use of Virtual Software Packages
About multiple concurrent user support
24
Installing the Symantec
Workspace Virtualization
Agent
This chapter includes the following topics:
Supported platforms for the Workspace Virtualization Agent
Installing the Workspace Virtualization Agent
Installing the Workspace Virtualization Agent silently
What the Workspace Virtualization Agent installs
Upgrading the Workspace Virtualization Agent
Uninstalling the Workspace Virtualization Agent
Troubleshooting Workspace Virtualization Agent installations
Cleaning up a failed Workspace Virtualization Agent installation
Removing the WMI Provider
Uninstalling the Agent in Runtime Mode
Supportedplatforms for theWorkspaceVirtualization
Agent
Workspace Virtualization requires the Microsoft Visual C++ 2008 Runtime
Libraries on all endpoints. If this runtime is not present during the installation,
it is installed automatically.
3
Chapter
Workspace Virtualization supports 64-bit editions of the following operating
systems:
Windows 7
Windows Vista SP1 or SP2
Windows Server 2008 and 2008 R2 when used as an endpoint
Workspace Virtualization supports 32-bit editions of the following operating
systems:
Windows 7
Windows Vista SP1 or SP2
Windows XP Professional SP2 or SP3
Windows Server 2008 when used as an endpoint
Windows Server 2003 SP1 or later and 2003 R2 when used as an endpoint
Installing the Workspace Virtualization Agent
This section provides instructions for installing the Agent using the interactive
installation program. You can download the Workspace Virtualization Agent
installation setup files at the following URL:
Symantec Endpoint Virtualization Suite
Global exclude entries are added for the Desktop and My Documents folders by
default.
See How to prevent the loss of application data on page 19.
See What the Workspace Virtualization Agent installs on page 28.
To install the Agent on a base computer
1 Runthe 32- or 64-bit versionof Symantec_Workspace_Virtualization.exe.
The version you select must match the endpoint architecture. The 32-bit
version cannot be installed on a 64-bit operating system.
2 Enter the product key, and then click Next.
3 On the Select Features page, select any optional components you want to
install:
Symantec Workspace VirtualizationAdminTool
This option installs the SWV Admin tool. You can use this tool to create,
edit, and manage virtual software layers on the endpoint.
Symantec Workspace VirtualizationSDK
Installing the Symantec Workspace Virtualization Agent
Installing the Workspace Virtualization Agent
26
This option installs documentation and samples for the SDK. This should
be installed if you are writing applications that use the SDK. It does not
need to be installed to run applications that are written with the SDK.
Altiris NotificationServer Support
This option installs support for managing Workspace Virtualization on
endpoints in a Notification Server environment.
4 Complete the setup wizard.
5 Restart the computer after the installation completes.
Installing the Workspace VirtualizationAgent silently
You can run the Workspace Virtualization installation programfroma command
line to perform a silent installation.
For example, the following commands perform a silent install of the Agent:
Symantec_Workspace_Virtualization.exe /s SWV.PRODUCT_KEY=<product-key>
The product key is required. Additional options are listed in the following table.
Options should be separated by a single space.
For example:
Symantec_Workspace_Virtualization.exe /s
SWV.PRODUCT_KEY=<product-key> SWV.ADDLOCAL=SVS_Admin,SDK,Altiris_NS
Table 3-1 Windows Installer command-line properties and descriptions
Description Property
Changes the location of the file redirection area.
The FSLRDR path cannot contain any non-ASCII
characters. Unsupported characters include Hi
ASCII, numeric digits, special characters, or any
other character that cannot be upper or lower case.
The file path must be at least three characters.
SWV.DEFAULT_FILE_REDIR=D:\fslrdr
Changes the default installation location. SWV.INSTALLDIR=C:\SVSAgent
Specifies the product key for the installation. You
obtain this product key from Symantec when you
purchase the product or download a key for free
personal use of the product. This property is
required.
SWV.PRODUCT_KEY=<product key>
27 Installing the Symantec Workspace Virtualization Agent
Installing the Workspace Virtualization Agent silently
Table 3-1 Windows Installer command-line properties and descriptions
(continued)
Description Property
Suppresses the restart prompts. Without this
switch, the installer automatically restarts the
computer. Do not attempt to use Workspace
Virtualization or to import or activate any layers
until the computer is restarted.
SWV.REBOOT=ReallySuppress
Add local adds the specified component to the local
installation. Remove removes the specified
component.
Provide one or more of the following values that
are separated by commas:
SVS_Admin
Changes the installation location of the
command-line utility, WMI provider, and the
SWV Admin tool.
SDK
Installs the Workspace Virtualization SDK.
Altiris_NS
Installs the components to integrate with the
Symantec Management Platform.
SWV.ADDLOCAL=<value1>, <value2>
REMOVE=<value1>, <value2>
What the Workspace Virtualization Agent installs
The installed components and the corresponding files are listed in the following
table.
Table 3-2 Installed components
Default path Component
Microsoft Visual C++2008 Runtime Libraries (if not installed) Prerequisites
C:\Program Files\Symantec\Workspace
Virtualization\SVSCmd.exe
C:\Program Files\Symantec\Workspace
Virtualization\UIUtils.dll
Command-line executable
file
C:\Windows\system32\drivers\fslx.sys Driver
C:\fslrdr File redirection area
Installing the Symantec Workspace Virtualization Agent
What the Workspace Virtualization Agent installs
28
Table 3-2 Installed components (continued)
Default path Component
C:\Windows\system32\fsllib32.dll
C:\Windows\system32\aszlib.dll
C:\Windows\system32\xerces-c_3_0.dll
C:\Windows\system32\XpaFormat.dll
C:\Windows\system32\XpfFormat.dll
C:\Windows\system32\XpfInstall.dll
Libraries
C:\Program Files\Symantec\Workspace
Virtualization\svsadmin.exe
C:\ProgramFiles\Symantec\WorkspaceVirtualization\fslui.dll
C:\Program Files\Symantec\Workspace
Virtualization\<LCID>\FslUI_resources.dll
SWV Admin tool
C:\Program Files\Symantec\Workspace
Virtualization\SvsWmi.dll
C:\Program Files\Symantec\Workspace
Virtualization\SvsWmi.mof
WMI provider
The file redirection area is where the files that are in a virtual software layer are
stored.
The installation creates the following registry keys:
Table 3-3 Installed registry keys
Registry path Key
HKEY_LOCAL_MACHINE\SOFTWARE\fslrdr Registryredirectionarea
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\FSLX\Parameters\SVS
Workspace
Virtualization Agent
product settings
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\FSLX\Parameters\FSL
Virtual layer metadata
The registry redirection area is where the registry entries in a virtual software
layer are stored. See the FSLRDR path limitations that are described in the
command-line installation section before you change this value.
See Installing the Workspace Virtualization Agent silently on page 27.
29 Installing the Symantec Workspace Virtualization Agent
What the Workspace Virtualization Agent installs
The installation installs the driver similar to how a service is installed. The
installation of the WMI provider uses the programmatic equivalent of
mofcomp.exe.
The installation sets the security permissions on the file redirection area and the
registry redirectionarea. Administrators and the SystemAccount have full access
to these redirection areas.
See Hiding the FSLRDR redirection areas on page 65.
Upgrading the Workspace Virtualization Agent
To upgrade the Workspace Virtualization Agent you can typically run the
installation program for the new version without uninstalling. For supported
upgrade paths and notes, see the release notes for the upgrade version.
Uninstalling the Workspace Virtualization Agent
You can uninstall the Workspace Virtualization Agent using the Add/Remove
Programs applet inthe Control Panel. Youcanalso use the applet to add or remove
optional components.
Uninstalling the Workspace Virtualization Agent does not remove any existing
virtual software layers or remove your registry settings.
To remove layers manually after you uninstall the Agent
1 Delete the FSLRDR directory. It is located by default at c:\fslrdr.
2 Delete the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FSLX\Parameters
key.
Troubleshooting Workspace Virtualization Agent
installations
You can complete most failed installations with a restart and a reinstallation. If
that does not work, add the /l*v <logfile> command-line option to create a
Windows Installer log for the installation. Inthe installationlog, searchfor "return
value 3". The lines preceding this value shouldcontainanerror message regarding
the failure. If the error message identifies the problem (for example, an invalid
product key), you should be able to resolve it. For more complex problems, you
may need to contact Symantec support or do a manual cleanup of the installation.
See Installing the Workspace Virtualization Agent silently on page 27.
Installing the Symantec Workspace Virtualization Agent
Upgrading the Workspace Virtualization Agent
30
See Cleaning upa failedWorkspace VirtualizationAgent installation onpage 31.
Cleaning up a failed Workspace Virtualization Agent
installation
If the installation of the Workspace Virtualization Agent fails and the problem
cannot be resolved, you can manually clean up the failed installation.
See Troubleshooting Workspace Virtualization Agent installations on page 30.
To clean up a failed installation of the Agent
1 Remove all the installed files and registry keys.
See What the Workspace Virtualization Agent installs on page 28.
2 To delete the FSLX driver, type the following command:
sc.exe delete FSLX
3 Remove the local groupthat was createdfor Agent security withthe following
command:
net.exe localgroup "Workspace Virtualization Administrators" /
delete
4 Remove the WMI Provider.
See Removing the WMI Provider on page 31.
5 To cleanupthe informationthat Windows Installer caches about the package,
type the following command:
msizap.exe TW! {7D8DBB7C-1C55-4950-A107-043C164F379A}
The msizap.exe tool comes with the Windows Installer SDK.
Removing the WMI Provider
To clean a failed installation of the Workspace Virtualization Agent, the WMI
Provider must be removed.
See Installing the Workspace Virtualization Agent silently on page 27.
See Cleaning upa failedWorkspace VirtualizationAgent installation onpage 31.
To remove the WMI Provider
1 Launch wbemtest.exe.
2 Click Connect.
31 Installing the Symantec Workspace Virtualization Agent
Cleaning up a failed Workspace Virtualization Agent installation
3 Type root\default as the namespace, and then click Connect.
4 Click Delete Class.
5 Enter the class name AltirisVSProv, VirtualSoftwarePackage, and
VirtualSoftwareSublayer and follow the prompts to delete the class.
6 Remove the following registry keys created by the WMI provider:
HKEY_CLASSES_ROOT\AppID\AltirisVSProvider.DLL
HKEY_CLASSES_ROOT\CLSID\{71D8DF9A-AD2D-44BF-A542-1412F68061D1}
HKEY_CLASSES_ROOT\TypeLib\{888967EF-E75C-4480-992D-93FDA658F21E}
Uninstalling the Agent in Runtime Mode
When a vendor distributes a vra file, it is wrapped in a WiseScript EXE that
contains installationlogic. This logic installs the Agent inruntime mode, if needed,
and imports and activates the runtime layer.
If the Agent is installed in runtime mode, uninstall it before you install a licensed
version of the Agent.
To uninstall the Agent in Runtime Mode
Because the Agent inruntime mode does not appear inAdd/Remove Programs,
do one of the following to uninstall it:
Msiexec.exe /x {7D8DBB7C-1C55-4950-A107-043C164F379A}
Installing the Symantec Workspace Virtualization Agent
Uninstalling the Agent in Runtime Mode
32
Creating virtual software
layers
This chapter includes the following topics:
About the creation of virtual software layers
Types of virtual software layers
Methods for capturing virtual software layers
Creating an application layer using single program capture
Creating an application layer using global capture
Adding an application to an existing layer
Creating a data layer
Creating an empty layer
About the creation of virtual software layers
Before you create layers, you should be familiar with the following:
What you can and should not virtualize.
See What you can virtualize using the Workspace Virtualization Agent
on page 19.
The types of virtual software layers.
See Types of virtual software layers on page 34.
The methods for creating virtual software layers.
See Methods for capturing virtual software layers on page 34.
How to set up the base computer that you use to create layers.
4
Chapter
See Installing the Workspace Virtualization Agent on page 26.
A best practice is to create application layers on a computer with the same
operating systemthat is usedinproduction. Whenyoucreate anapplicationlayer,
you capture the installation of the application. Some installations contain logic
to install different files depending on the computers operating system. This
process is not requiredwhenaninstallationdoes not performany operations that
are specific to an operating system.
After you create a virtual software layer, you can edit it and then export it to
create a portable virtual software archive file that youcanuse onother computers.
See Editing the files in a virtual software layer on page 45.
See Exporting a virtual software layer to an archive file on page 59.
Types of virtual software layers
You can create the following types of virtual software layers:
An application layer is created by capturing the installation of an
application. It contains all the installed files and registry settings
of the application. An application layer can contain one or more
applications.
See Creating an application layer using single programcapture
on page 35.
Application layer
A data layer captures and stores data files that an application
creates. A data layer is one way to prevent the loss of application
data when an application layer is reset.
See Creating a data layer on page 40.
See How to prevent the loss of application data on page 19.
Data layer
An empty layer lets you manually add an application or capture
an application. Empty layers let advanced users create custom
layers.
See Creating an empty layer on page 41.
Empty layer
See Virtual software package workflow on page 18.
Methods for capturing virtual software layers
When you create a virtual software layer, you can use either of the following
capture methods:
Creating virtual software layers
Types of virtual software layers
34
Wise Virtual Composer provides an advanced interface to create
virtual software packages. See the Wise Virtual Composer User's
Guide for details.
WiseVirtual Composer
When you use this method, only changes that are made during
the installation of a specified application are captured. Any other
activity on the computer is ignored.
This method captures all the files, registry settings, and processes
of an application. The capture includes child processes and
process-inducedchanges. It alsocaptures Microsoft Installer (MSI)
and Service Control Manager changes.
You can use this method to capture both a single installation into
a layer or multiple installations into a layer. You can also use this
method to capture post-installation configurations.
See Creating an application layer using single programcapture
on page 35.
SWV Admin tool
Single program
capture
This method captures all changes that are made to a computer
during the capture process. Because it captures all changes, it also
captures all background activity on the system. Use this method
only when you cant use the single program capture.
See Creating an application layer using global capture
on page 37.
SWV Admin tool
Global capture
Creating an application layer using single program
capture
Youcancreate anapplicationlayer by capturing the installationof anapplication.
The single program capture method is the recommended capture method. You
should use this method unless it does not let youproperly capture the installation
of an application.
See Methods for capturing virtual software layers on page 34.
With the single program capture method, you can capture an applications
installation directly or from the command-line window. When you capture
installations from the command-line window, you can capture multiple
installations into a single layer and perform post-installation configurations of
an application. When you capture an installation directly, you can only capture
that installation.
You can also create a batch file that contains the command for starting each
installation. You would thenrunthe batchfile instead of aninstallationprogram.
35 Creating virtual software layers
Creating an application layer using single program capture
Before you create an application layer you must deactivate all layers on the
computer.
To capture an application layer with single program capture
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on the File menu, click NewLayer.
4 On the first panel, click Install application, and then click Next.
5 On the second dialog box, type a name for the layer, and then click Next.
Layer names are limited to 50 characters.
6 On the Capture dialog box, do the following tasks:
Click Single programcapture.
Click Browse and select the setup file.
This file can be an EXE or an MSI.
(Optional) Type parameters for running the setup file.
Click Next.
Click Finish.
A rotating icon appears in the system tray.
7 To capture the installation, work through the installation dialog boxes to
complete the capture.
You must exit all processes that the installationstarts (for example, a system
tray application) before the capture process is complete.
8 (Optional) If an installation has an option to launch the application at the
end of the installation, do the following tasks:
Select the option to open the application.
When the application opens, make changes to the default settings of the
application.
Because the installer opens the application, you are still in capture mode
and the changes are captured.
Close the application to complete the capture.
The layer now appears in the SWV Admin tool.
Creating virtual software layers
Creating an application layer using single program capture
36
To capture an application installation from the command-line window
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on the File menu, click NewLayer.
4 On the first dialog box, click Install application, and then click Next.
5 On the second dialog box, type a name for the layer, and then click Next.
Layer names are limited to 50 characters.
6 On the Capture dialog box, do the following tasks:
Click Single programcapture.
Click Browse, and then locate and click cmd.exe.
For example, C:\Windows\system32\cmd.exe.
Click Next.
Click Finish.
7 In the command-line window, do the following tasks:
Start and run the installations you want to capture.
(Optional) Start anapplicationyoucapturedandperformpost-installation
configuration.
8 Close the command-line window and any process the installation started.
You must exit all processes that the installation starts (example: a system
tray application) before the capture process is complete.
The layer appears in the SWV Admin tool.
See About the creation of virtual software layers on page 33.
See Creating an application layer using global capture on page 37.
See Adding an application to an existing layer on page 38.
Creating an application layer using global capture
For most applications, we recommend that you use the single program capture
method. Only use the global capture method if the single programcapture method
does not properly capture the installation of an application.
See Methods for capturing virtual software layers on page 34.
To create an application layer, all layers on the computer must be deactivated.
37 Creating virtual software layers
Creating an application layer using global capture
To create an application layer with global capture
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on the File menu, click Create NewLayer.
4 On the first dialog box, click Install application, and then click Next.
5 On the second dialog box, type a name for the layer, and then click Next.
Layer names are limited to 50 characters.
6 On the Capture dialog box, click Global capture, and then click Next.
7 Click Finish.
A rotating icon appears in the system tray.
8 Run the installation program of the application.
9 (Optional) After the installation is complete, open the application, configure
its default settings, and then exit it.
For example, you might set a default home page or customsecurity settings.
10 (Optional) Run the installation program of one or more programs and open
each application to set default settings.
11 Right-click the rotating icon in the system tray and click Stop Capture.
The layer appears in the SWV Admin tool.
See About the creation of virtual software layers on page 33.
See Creating an application layer using single program capture on page 35.
See Adding an application to an existing layer on page 38.
Adding an application to an existing layer
After you create a layer, you can add an application to the layer. You can add an
application to an empty layer or a layer that contains one or more applications.
You can repeat the following procedure to add any number of applications to a
layer.
You can only add an application to an existing layer with the SWV Admin tool.
To add an application to an existing layer, all layers on the computer must be
deactivated.
See Methods for capturing virtual software layers on page 34.
Creating virtual software layers
Adding an application to an existing layer
38
To add an application to an existing layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, right-click the layer to which you want to add an
application, and then click Add to Layer.
4 On the Capture dialog box, do the following tasks:
Click Single programcapture.
Use global capture only if you cannot properly capture the update with
single programcapture. With global capture, you must manually run the
installation of the application.
Click Browse, and then select the setup file.
This file can be an EXE or an MSI.
Click Next.
Click Finish.
A rotating icon appears in the system tray.
5 To capture the installation, work through the installation dialog boxes to
complete the capture.
You must exit all processes that the installation starts (example: a system
tray application) before the capture process is complete.
6 (Optional) If an installation has an option to launch the application at the
end of the installation, do the following tasks:
Select the option to open the application.
When the application opens, make changes to the default settings of the
application.
Because the installer opens the application, you are still in capture mode
and the changes are captured.
Close the application to complete the capture.
See About the creation of virtual software layers on page 33.
See Creating an application layer using single program capture on page 35.
See Creating an application layer using global capture on page 37.
39 Creating virtual software layers
Adding an application to an existing layer
Creating a data layer
You create data layers to capture data files into a dedicated layer. Data layers can
store the data that would otherwise be written to an application layer or the base
file system.
You can create a data layer that captures all files with specified extensions (for
example, all files witha .doc extension). Files withspecifiedextensions are captured
even if they are generated outside of the layer.
You can also create a data layer for a specific directory (for example, the My
Documents folder). When you specify a directory, you can include its
subdirectories. Any files that are saved into this directory are saved in the data
layer.
When a data layer is activated on a computer, files that already exist on the
computer are not automatically captured into the layer. However, any files that
match the specifications of the data layer are redirected to the layer when they
are modified.
To create a data layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on the File menu, click NewLayer.
4 On the Create newlayer dialog box, click Data layer, and then click Next.
5 On the second dialog box, type a name for the layer. In the Datalayer details
section, click either the File extension(s) separated by semi-colon or
Directory option, and then specify the extensions or directory. Layer names
are limited to 50 characters.
To create a data layer that uses bothfile extensions and a directory, youmust
edit the layer after it is created.
See Editing a data layer on page 46.
6 Click Next, and then click Finish.
The layer appears in the SWV Admin tool.
See About the creation of virtual software layers on page 33.
See Creating an application layer using single program capture on page 35.
Creating virtual software layers
Creating a data layer
40
Creating an empty layer
If a programdoes not have an installer, you could create an empty layer and then
edit it to add files and registry settings. After you create an empty layer, you can
also capture the installation of an application to add it to the layer.
See Editing the files in a virtual software layer on page 45.
See Adding an application to an existing layer on page 38.
To create an empty layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on the File menu, click NewLayer.
4 On the Create newlayer dialog box, click Empty layer, and then click Next.
5 Onthe second dialog box, type a name for the layer, click Next, and thenclick
Finish. Layer names are limited to 50 characters.
The layer appears in the SWV Admin tool.
See About the creation of virtual software layers on page 33.
41 Creating virtual software layers
Creating an empty layer
Creating virtual software layers
Creating an empty layer
42
Editing virtual software
layers
This chapter includes the following topics:
Configuring a virtual software layer to start automatically
Activating a virtual software layer using a desktop shortcut
Editing the files in a virtual software layer
Editing the registry settings of a virtual software layer
Editing a data layer
Adding exclude entries to virtual software layers
Adding a layer exclude entry
Adding a global exclude entry
Adding a global user profile exclude entry
Ignoring the global exclude list for a single layer
Transferring global excludes to another computer
Adding a delete entry to a virtual software layer
About updating a virtual software layer
Updating a virtual software layer
Creating a layer patch to update a virtual software layer
Renaming a virtual software layer
5
Chapter
Configuring a virtual software layer to start
automatically
You can configure a virtual software layer to start (activate) automatically when
a client computer starts. You can also activate a layer from a desktop shortcut.
See Activating a virtual software layer using a desktop shortcut on page 44.
Note: If you dont configure a layer to start automatically and if the user cannot
manually activate it, the user cannot access it.
Youcanalso use the SVSCMDexecutable file withthe AUTOACTIVATEparameter
to set a layer to start automatically.
See SVSCMD command-line parameters on page 72.
To configure a layer to start automatically
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 Inthe SWVAdmintool, right-click a layer, andthenclick ActivateOnSystem
Startup.
If a check mark appears next to the option, it is enabled.
See Editing the files in a virtual software layer on page 45.
Activating a virtual software layer using a desktop
shortcut
Layer activation using a shortcut is enabled by setting the layer to be partially
activated. After a layer is partially activated shortcut icons and file associations
are displayed as if the layer is activated. When a shortcut or a file association
starts the application, the layer is fully activated. This feature is useful in
environments where you want a large number of applications active when the
computer starts.
Partially activating a layer can be done using SVSCMD. Deactivating and
reactivating a partially activated layer fully activates it.
Partial activation does not work with virtualized applications that contain
advertised shortcuts.
See SVSCMD command-line parameters on page 72.
Editing virtual software layers
Configuring a virtual software layer to start automatically
44
To activate a virtual software layer using a desktop shortcut
1 At the command line, enter svscmd <layerGUID/layerName>
partialactivate -y.
2 At thecommandline, enter svscmd <layerGUID/LayerName> Auto[Activate]
-y to enable Activate on system startup.
3 When the computer restarts the layer is partially activated and can be
activated using a desktop shortcut.
To disable partial activation for a layer
At the command line, enter svscmd <layerGUID/layerName>
partialactivate -n.
See Actions you can perform to manage layers on page 58.
Editing the files in a virtual software layer
You can make the following changes to the files in a layer:
Create new folders.
Rename and delete folders and files.
Copy or move files and folders within a layer, into a layer, or outside a layer.
You cannot overwrite files in a layer. To replace a file, delete or move the original
and replace it with the updated file. To edit a file, move the original, update the
file and then replace the original with the updated file.
To edit the files in a virtual software layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, double-click the layer.
4 In the Layer Properties dialog box, click the Files tab.
The Files tab has two nodes to separate the files inthe read-only andwriteable
sublayers. When you edit the files in a layer, make sure that you make the
changes in the correct node.
Most folders on the Files tab use a name that is a variable.
See Viewing variables used in a virtual software layer on page 66.
5 To create a new folder, right-click a folder, and then click New > Folder.
45 Editing virtual software layers
Editing the files in a virtual software layer
6 To edit a folder, right-click a folder, and then select an option.
7 To edit a file do the following:
Select the folder that contains the file.
The file appears in the right pane.
In the right pane, right-click the file, and then select an option.
Editing the registry settings of a virtual software layer
After you create a virtual software layer, you can edit its registry settings. If you
create an empty layer, you can add registry settings to the layer.
Note: The Workspace Virtualization Agent does not store data in the virtual
HKEY_CLASSES_ROOT key. Instead it stores it in its real location under either
HKEY_USERS\USER_TEMPLATE\Software\Classes or HKEY_LOCAL_MACHINE\
Software\Classes. At runtime, Windows reads the Workspace Virtualization data
for activated layers from these locations and properly renders
HKEY_CLASSES_ROOT.
To edit registry settings of a virtual software layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, double-click the layer.
4 In the Layer Properties dialog box, click the Registry tab.
The Registry tab has two nodes to separate registry settings in the read-only
and writeable sublayers. When you edit a layer, make sure that you make the
changes in the correct node.
5 To edit registry settings, use the same process as you would with regedit.
Editing a data layer
After you create a data layer, you can edit which files the data layer captures. For
example, after you create a data layer that captures .doc files. You can edit it to
also capture the files that are added to a specified directory.
To edit a data layer, the layer must be deactivated.
See Activating and deactivating virtual software layers on page 61.
Editing virtual software layers
Editing the registry settings of a virtual software layer
46
To edit a data layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, double-click the layer.
4 In the Layer Properties dialog box, click the Data Capture tab.
5 On the right-click menu, click NewData Capture Item.
6 On the Data Layer Capture Entry dialog box, click either the File extension
or the Directory option, and then specify the extension or directory.
It doesnt matter if you include the period before the extension. Enter only
one extension per entry. To include subdirectories, check Include
Subdirectories.
7 Click OK.
The data capture entry appears in the list box.
See Creating a data layer on page 40.
Adding exclude entries to virtual software layers
Exclude entries let you prevent files from being saved in the redirect area of the
layer. By default, when an application layer generates files,those files are saved
to the applications writeable sublayer. If the layer is reset, the files inthe writeable
sublayer are lost. An exclude entry lets you specify file types or locations on the
base system and not in the application's writeable sublayer.
Layer excludes affect a single layer. Global excludes affect all layers on the
computer.
See How to prevent the loss of application data on page 19.
Note: Data layer includes take precedence over data layer excludes.
You can add the following types of exclude entries:
47 Editing virtual software layers
Adding exclude entries to virtual software layers
A layer exclude entry redirects files froma specific layer to the
base file system. Youaddlayer excludes ona layer by layer basis.
For example, you can add excludes to a Microsoft Word layer
for .doc, .rtf, and .txt file types. When Word saves any of these
file types, they are saved in the base file system and not in the
layer.
See Adding a layer exclude entry on page 48.
Layer exclude entry
A global exclude entry redirects files for every layer on a
computer to the base file system. For example, you can add a
global exclude for PDF files. If any layer creates PDF files, the
files are excluded from the layer and saved in the base file
system.
Whenyouinstall the Workspace VirtualizationAgent, youhave
the optionto add global excludes for the My Documents and the
Desktopdirectories. Youcanedit these predefinedglobal exclude
entries and add your own.
Global excludes are not associated with a specific layer and are
not exportedwhenyouexport a layer. To export a global exclude
list to another computer, create and export a registry file that
contains the settings for the list.
See Adding a global exclude entry on page 49.
Global exclude entry
Auser profile exclude entry redirects files that are stored inthe
user profile to the base file system. This exclude entry should
be enabled in environments that use roaming profiles.
See Adding a global user profile exclude entry on page 50.
User profile exclude
entry
Adding a layer exclude entry
You add a layer exclude entry to exclude files from a specific layer. A layer can
have any number of exclude entries.
See Adding exclude entries to virtual software layers on page 47.
To add a layer exclude entry
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, deactivate and then double-click the layer.
4 In the Layer Properties dialog box, click the Exclude Entries tab.
5 In the top list box, on the right-click menu, click NewExclude Entry.
Editing virtual software layers
Adding a layer exclude entry
48
6 On the Layer exclude entry dialog box, click either the File extension or the
Directory option, and then specify the extension or directory.
It doesnt matter if you include the period before the extension. Enter only
one extension per entry. To exclude subdirectories, check Exclude
Subdirectories.
7 Click OK.
The exclude entry appears in the list box.
8 To edit or delete an exclude entry, on the entries right-click menu, click
Modify Exclude Entry or Delete Exclude Entry.
Adding a global exclude entry
You add a global exclude entry to exclude files from all layers on the computer.
A computer can have any number of global exclude entries.
See Adding exclude entries to virtual software layers on page 47.
Global excludes are set on each computer and are not exported when a virtual
software layer is exported. To transfer global excludes you can export the global
excludes from the registry and then import them on another computer.
See Transferring global excludes to another computer on page 50.
You can configure a layer to ignore the global excludes.
See Ignoring the global exclude list for a single layer on page 50.
To add a global exclude entry
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on the File menu, click Global Excludes.
4 In the global excludes pane, on the right-click menu, click NewExclude
Entry.
5 Inthe Global Excludes dialog box, onthe right-click menu, click NewExclude
Entry. Onthe Global excludeentrydialog box, click either the Fileextension
or Directory option, and then specify the extension or directory.
It doesnt matter if you include the period before the extension. Enter only
one extension per entry. To exclude subdirectories, check Exclude
Subdirectories.
49 Editing virtual software layers
Adding a global exclude entry
6 Click OK.
The exclude entry appears in the list box.
7 To edit or delete a global exclude entry, right-click entries, and then click
Modify Exclude Entry or Delete Exclude Entry.
Adding a global user profile exclude entry
You add a profile exclude entry to exclude all files that are stored in the user
profile. This exclusion stores user profile data in the base and not in a layer. This
exclusion allows profile data to roam in environments with roaming profiles.
To add a global profiles exclude
1 Use the SVSCMD command line EXCLUDEALLPROFILES -y. This command
creates a DWORD value that is named ExcludeProfileData under
HKLM\System\CurrentControlSet\Services\FSLX\Parameters\FSL
2 Restart the computer.
See SVSCMD command-line parameters on page 72.
See Adding exclude entries to virtual software layers on page 47.
Ignoring the global exclude list for a single layer
Ignoring the global exclude list lets you specify that global excludes should not
be used for a layer.
See Adding exclude entries to virtual software layers on page 47.
To ignore the global exclude list
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, double-click the layer.
4 In the LayerProperties dialog box, on the ExcludeEntries tab, check Ignore
Global Exclude List.
Transferring global excludes to another computer
Global excludes are set on each computer and are not exported when a virtual
software layer is exported. To transfer global excludes you can export the global
excludes from the registry and then import them on another computer.
Editing virtual software layers
Adding a global user profile exclude entry
50
See Adding a global exclude entry on page 49.
To transfer global excludes to another computer
1 Onthe computer withthe global excludes that youwant to export, runregedit
and browse to
HKLM\SYSTEM\CurrentControlSet\Services\FSLX\Parameters\FSL\ExcludePath.
2 Right-click the ExcludePath folder and then click Export.
3 Copy the registry file to another computer and and then import the settings.
Warning: When you run this file, if the registry key already exists on a
computer it is overwritten with the contents of the new registry key.
4 To reload the global exclude list without restarting the computer, run the
SVSCMD executable file with the REL[LOAD] parameter.
Adding a delete entry to a virtual software layer
A delete entry hides a file on a computer when a virtual software layer is active.
The hidden file functions as if it were deleted. When the layer is deactivated or
deleted, the file reappears.
Youcanuse delete entries to hide any file ona computer whena layer is activated.
For example, you can create a layer for Mozilla Firefox with delete the entries
that hide the Internet Explorer shortcuts. Whenthe Firefox layer is activated, the
Internet Explorer shortcuts are hidden. If the Firefox layer is deactivated or
deleted, the shortcuts are visible.
With the global capture method, you can add a delete entry when you create a
layer. Any file or registry setting that you delete when in capture mode becomes
a delete entry in the read-only sublayer.
You can also manually add one or more delete entries to a layer. You normally
add a delete entry to the read-only sublayer. To add a delete entry for a layer, the
layer must be deactivated.
Warning: Avoid adding delete entries to a layer unless you are sure that no other
applications need the file.
Adelete entry is also added whenever a user deletes a file or a registry entry from
the read-only sublayer. The files are not deleted, but they become delete entries
in the writeable sublayer. If the layer is reset, the file is restored to the read-only
51 Editing virtual software layers
Adding a delete entry to a virtual software layer
sublayer. You can view a layers delete entries to see if files from the read-only
layer have been deleted.
To add a delete entry to a virtual software layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, double-click the layer.
4 In the Layer Properties dialog box, click the Delete Entries tab.
5 In the left pane, select the folder for the delete entry.
The Delete Entries tab has a read-only and a writeable node for both files and
registry entries. When you add a delete entry, make sure that you select the
appropriate node. The writeable nodes have a System Delete List and a
user-specific delete list. If you add a delete entry to the System Delete List,
the delete entry is deleted for all users. If you add a delete entry to a specific
user delete list, it is only deleted for that user. For example, if you specify a
user delete entry for a desktop shortcut, it is only deleted for that user.
6 In the right pane, on the right-click menu, click NewDelete Entry.
7 Edit the default entry, [SYSTEMDRIVE]\Filename.ext, to define the delete
entry.
About updating a virtual software layer
After you create a virtual software layer, you can update the layer with an update
or patch. Before you update an existing layer, you should first decide whether the
update warrants creating a newlayer. If you create a newlayer, you must reapply
any edits that you applied to the existing layer.
Before you update an existing layer, you must also decide whether to update its
writeable or read-only sublayers. An applications writeable sublayer is updated
whenthe update runs ona computer where the applicationlayer is activated. The
major disadvantage of updating the writeable sublayer is that the update is lost
if the layer is reset. The major advantage of updating the writeable sublayer is
that it preserves user-specific settings in the writeable sublayer.
To update a layers read-only, you must use the SWV Admin tool. You use this
tool to capture the update into the existing layer. The major disadvantage of
updating the read-only sublayer is that any user-specific settings in the writable
sublayer are lost. The major advantage of updating the read-only sublayer is that
you can ensure that all users have an identical version of the application.
Editing virtual software layers
About updating a virtual software layer
52
See Updating a virtual software layer on page 53.
Before you update the read-only sublayer of an application, you should change
the layers name and GUID. You can then import the updated layer on a computer
without deleting the original layer. If the updated layer causes problems, you can
then quickly deactivate it and activate the original layer. To change the GUID of
a layer, use the SETGUID SVSCMD command-line parameter.
See SVSCMD command-line parameters on page 72.
See Editing the files in a virtual software layer on page 45.
Updating a virtual software layer
After you create a virtual software layer, you can update the layer with an update
or patch. For example, if you have a layer for Microsoft Office, you can update it
when an update or patch is released for Office.
See About updating a virtual software layer on page 52.
You can also use this option to update a layer to add an application to an existing
layer.
See Adding an application to an existing layer on page 38.
After you update a layer, export the layer to create a new layer archive file.
See Exporting a virtual software layer to an archive file on page 59.
To update a virtual software layer
1 Start the SWV Admin tool.
2 In the SWV Admin tool, on the File menu, click Update Existing Layer.
3 On the first dialog box, select the layer and click Next.
4 On the second dialog box, do the following:
Click Single programcapture.
Use global capture only if you cannot properly capture the update with
single programcapture. With global capture, you must manually run the
update.
Click Browse and select the update file.
Click Next.
53 Editing virtual software layers
Updating a virtual software layer
5 Click Finish.
A rotating icon appears in the system tray.
6 To capture the installation, work through the installation dialog boxes to
complete the capture.
You must exit all processes that the installationstarts (for example, a system
tray application) before the capture process is complete.
Creating a layer patch to update a virtual software
layer
Layer patches provide a mechanism to make small, incremental updates to an
existing application layer. Layer patches reduce the need to create a newlayer to
provide an application update. A layer patch file contains the changes between
two versions of an application. Layer patches let you update layers without
distributing a completely new layer.
For example, an existing Firefox 3.01 virtual software layer can be updated to
version 3.02 by applying a small patch file.
When applying a patch, you can select to keep the previous layer and create new
layer with the updated versions. This feature can simplify application migration
by providing access to both versions. You can also copy all of the data and the
settings that are stored in the writeable sublayer to the new version.
Patch files must be applied incrementally. If you create multiple patches, they
must be applied in the order they were created.
To create a layer patch file you need a layer that contains the existing version of
an application. This layer must have the same GUID as the layer distributed in
your environment. Youalso need a second layer that contains the updated version
of the same application. For example, Firefox 3.01 in the first layer and Firefox
3.02 in the second.
For a detailed explanation of the patch creation process, see the following article
on Symantec Connect:
Exploring the layer patch feature
Note: Due to significant path and other systemchanges in 64-bit, patches created
for 64-bit operating systems should be created on the specific operating system
where they will be deployed. For example, we recommend creating a separate
patch file for 64-bit Windows 7 using a 64-bit Windows 7 operating system.
Editing virtual software layers
Creating a layer patch to update a virtual software layer
54
To create a layer patch file
1 Import the layer that contains the existing version.
2 Import the layer that contains the updated version of the application.
3 In the SWV Admin tool, click File > Create patch.
4 On the Create Layer PatchArchive File dialog box, do the following:
Select the original layer from the Original layer drop-down menu.
Select the updated layer from the Updated layer drop-down menu.
Click Browse , select the name and path for the layer patch file, and then
click Open.
Click OK.
To apply a layer patch file
1 In the SWV Admin tool, click File > Apply Patch.
2 Click Browse, select the name and pathfor the layer patchfile, and thenclick
Open.
Click Patchexisting layer to apply the patch to an existing layer. This
option updates the existing layer.
Select Export before patching to create a backup of the layer before the
patch is applied.
Select Create newlayer to apply the patch to a new layer. This option
leaves the original layer intact.
Select Copywriteable sublayer fromexistinglayer to copy the data that
is stored in the writeable sublayer. This option moves the changes that
are stored in the existing layer to the new layer.
3 Click OK.
After a patch is applied, Windows Shortcut files (.LNK) that are contained in the
writeable sublayer of the previous version are removed. Any newshortcuts in the
new version are available. This process helps prevent unusable shortcuts from
being left after an upgrade.
Renaming a virtual software layer
Youcanrename a virtual software layer. Before youupdate a layer, we recommend
that you rename the layer and change its GUIDto avoid confusion. To change the
GUIDof a layer, use the SETGUID SVSCMDcommand-line parameter. Youcanalso
use the SVSCMD executable file to rename a layer.
55 Editing virtual software layers
Renaming a virtual software layer
See SVSCMD command-line parameters on page 72.
To rename a layer, you must first deactivate the layer.
To rename a virtual software layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on a layers right-click menu, click Rename.
4 Type the new name for the layer.
Editing virtual software layers
Renaming a virtual software layer
56
Managing virtual software
layers
This chapter includes the following topics:
About the management of virtual software layers
Actions you can perform to manage layers
Testing a virtual software layer
Interoperability with antivirus scanners
Hiding the FSLRDR redirection areas
Viewing the properties of a virtual software layer
Viewing variables used in a virtual software layer
About the management of virtual software layers
After youcreate andedit virtual software layers, youcanmanage themthroughout
their life cycle. You can manage layers locally and remotely. To manage layers
locally, you use the SWV Admin tool.
To manage layers remotely, you can use the following methods:
Symantec Workspace Streaming provides a
platform to stream virtual software directly to
virtual software layers. You can deliver
virtualizedapplications on-the-fly andleverage
advanced license tracking and reporting
capabilities.
Symantec Workspace Streaming
6
Chapter
The SVSCMD executable file has a set of
command-line parameters that let you manage
virtual software layers.
See SVSCMD command-line parameters
on page 72.
SVSCMD
Symantec Client Management Suite lets you
create tasks and policies to deliver and manage
virtual software layers onclient computers. See
the SoftwareManagement SolutionUser's Guide.
Altiris NotificationServer 6.x has a plug-inthat
lets you create tasks and policies to deliver and
manage virtual software layers on client
computers. See the Symantec Workspace
Virtualization Agent 6.x Help.
Altiris Notification Server
Symantec Deployment Solution lets you create
jobs to deploy and manage virtual software
layers. See the Deployment Solution Admin
Guide (6.x) or the Deployment Solution User's
Guide (7.x).
Altiris Deployment Solution
WiseScript Package Editor has a set of
Workspace Virtualization-specific actions that
let youcreate scripts tomanage virtual software
layers. See the WiseScript Package Editor Help.
WiseScript Package Editor
Workspace Virtualization provides
command-line, WMI, and API interfaces to
manage Workspace Virtualization client-side
operations with any desktop management
product.
Standard management framework
Actions you can perform to manage layers
Table 6-1 indicates the actions that you can perform on a layer.
Table 6-1 Actions to manage layers
Description Action
Activates a layer that was imported on a computer. When a layer is
activated, its contents become visible. An activated layer is fully
functional. Activation is almost instantaneous.
See Activating and deactivating virtual software layers on page 61.
Activate
Managing virtual software layers
Actions you can perform to manage layers
58
Table 6-1 Actions to manage layers (continued)
Description Action
Deactivates a layer that was imported on a computer. When a layer
is deactivated, it is hidden from the user but is still on the computer.
Deactivationis almost instantaneous. If a process is running ina layer,
this action can only deactivate the layer if it includes the Force
parameter. A layer cannot be deactivated if it contains a process
running for another user, even by using the Force parameter. An
administrator must end the process and then deactivate the layer.
See Activating and deactivating virtual software layers on page 61.
See SVSCMD command-line parameters on page 72.
Deactivate
Deletes a layer from a computer.
See Deleting virtual software layers on page 62.
Delete
Exports a virtual software layer to create a portable archive file in
Extensible Package Format (XPF).
See Exporting a virtual software layer to an archive file on page 59.
Export
Imports a virtual software layer in XPF or VSA format into the
Workspace Virtualization redirection areas on a computer. The
imported layer appears in the SWV Admin tool, if it is installed.
See Importing a virtual software archive file on page 60.
Import
Resets an application layer to its original imported state. Any data in
the writeable sublayer is deleted, including user profiles that were
added or changed. Data layers cannot be reset. You can use the new
reset point operation to create a new reset point.
See Resetting application layers on page 61.
Reset
Exporting a virtual software layer to an archive file
After youcreate a virtual software layer, youcanexport it to anExtensible Package
Format (XPF) archive file. XPF replaced VSA as the export file format.
Layer archive files can be stored on a network share, e-mailed, or deployed to
client computers on your network. After the archive file is copied to a client
computer, you import it to create a new layer.
See Importing a virtual software archive file on page 60.
You can export a layer locally or remotely. To export a layer remotely, you can
use the SVSCMD executable file.
59 Managing virtual software layers
Actions you can perform to manage layers
See SVSCMD command-line parameters on page 72.
To export a layer, you must deactivate the layer.
Do not select the Export user information option if you plan to distribute this
layer to other computers. If this option is selected, layer data that is stored in the
user SID is also exported. Select this option only when you create a backup.
To export a virtual software layer to an archive file
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on the layers right-click menu, click Export.
4 Specify a name and location.
5 Click OK.
See About the management of virtual software layers on page 57.
See Actions you can perform to manage layers on page 58.
Importing a virtual software archive file
Virtual software is imported from Extensible Package Format (XPF) files. XPF
replaced VSA as the import file format, though support for importing VSA files
is still provided.
See Exporting a virtual software layer to an archive file on page 59.
Youcanimport anarchive file ona computer tocreate a newlayer if the Workspace
Virtualization Agent is installed. After you import an archive file, you activate
the layer to complete the installation of the application.
See About the management of virtual software layers on page 57.
To import an archive file
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on the File menu, click Import Layer.
4 In the Open dialog box, select the archive file to import and click Open.
5 After the import completes, click OK.
The layer appears in the SWV Admin tool.
See Actions you can perform to manage layers on page 58.
Managing virtual software layers
Actions you can perform to manage layers
60
Activating and deactivating virtual software layers
Whena virtual software layer is activated, all the contents of the layer are visible.
Whena layer is deactivated, the contents of the layer are hidden. Whenyoucreate
an application layer, it is activated by default. When a layer is activated, its name
is displayed in bold type.
Youcanactivate anddeactivate layers locallyor remotely. Toactivate or deactivate
a layer remotely, you can use any of the interfaces that manage virtual software
layers.
See About the management of virtual software layers on page 57.
To activate or deactivate a layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on a layers right-click menu, click Activate or
Deactivate.
You can select and activate or deactivate multiple layers by holding the Ctrl
key.
4 If youtry to deactivate a layer that has a process running, a message prompts
youto stopthe process. Click Yes to stopthe process anddeactivate the layer.
The message also displays a process ID(PID). You can use this PIDto look up
the process in Windows Task Manager. For information about PIDs, see the
Windows Task Manager Help.
See Actions you can perform to manage layers on page 58.
Resetting application layers
You can reset a damaged application layer to restore it to its original imported
state.
The ability to reset an application layer provides the following benefits:
It does not require an uninstallation and reinstallation of an application.
It cannot damage the other applications that are installed on the computer.
It lets you maintain standard versions and configurations of applications
across your network.
Whenanapplicationlayer is created, the applications data is storedina read-only
sublayer. When a user runs the application, all of the data that is created by the
applicationis saved ina writeable sublayer. Whenyou reset the applicationlayer,
61 Managing virtual software layers
Actions you can perform to manage layers
the data in the writeable sublayer is deleted and the read-only sublayer is
maintained.
Creating a newreset point merges the existing contents fromthe writable sublayer
with the read-only sublayer. This option can help preserve customizations and
prevent data loss when a reset occurs.
Caution: To prevent the loss of any data that is created by an application, redirect
the data out of the writeable sublayer.
See How to prevent the loss of application data on page 19.
Before you reset a layer, you can access the Edit Layer dialog box to viewthe files
and registry settings in the layers writeable sublayer.
See Editing the files in a virtual software layer on page 45.
You can reset an application layer locally or remotely. To reset an application
layer remotely, you can use any of the interfaces that manage virtual software
layers.
See About the management of virtual software layers on page 57.
To reset an application layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on a layers right-click menu, click Reset.
4 Click Yes.
To create a new reset point
1 In the SWV Admin tool, right-click the deactivated layer for which you want
to create a new reset point. Click NewReset Point.
2 The Export layer before creating newreset point option creates a backup
version of the layer with its original reset point. The Copy current user's
settings to default user's settings area option merges the contents of the
writeable sublayer. This optionrestores these settings whenthe layer is reset.
See Actions you can perform to manage layers on page 58.
Deleting virtual software layers
To remove a virtual software layer from a computer, you delete it. When you
delete a layer, all the data in the layer is deleted. We recomend creating a new
reset point and thenexporting a backup copy of layer before deletion. This backup
Managing virtual software layers
Actions you can perform to manage layers
62
copy lets you quickly reimport the application to the current state if you decide
to install it again.
You can delete an application layer locally or remotely. To delete an application
layer remotely, you can use any of the interfaces that manage virtual software
layers.
See About the management of virtual software layers on page 57.
To delete a virtual software layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on a layers right-click menu, click Delete.
4 Click Yes.
See Actions you can perform to manage layers on page 58.
Testing a virtual software layer
After you create a virtual software layer, you should test it to verify that it
functions properly. Because virtual software layers cannot conflict with other
applications, you do not have to test for conflicts. If you create both application
layers and data layers, you need to perform different tests on each.
To test an application layer
1 Activate the layer and run the captured application.
See Activating and deactivating virtual software layers on page 61.
2 Verify that the applications files appear in the file system when the layer is
activated and the files are hidden when the layer is deactivated.
3 To test the layers portability, do the following:
Export the layer to an archive file.
See Exporting a virtual software layer to an archive file on page 59.
Import the layer archive file on another computer.
See Importing a virtual software archive file on page 60.
Activate and run the application.
63 Managing virtual software layers
Testing a virtual software layer
To test a data layer
1 Activate the layer.
See Activating and deactivating virtual software layers on page 61.
2 Create one or more files that meet the specifications of the data layer.
You can create these files by using an application or by copying files to a
directory that is specified in the data layer.
3 Verify that the data files appear in the file system when the data layer is
active and are hidden when the data layer is deactivated.
4 If you create data files with a virtualized application, reset the application
layer and verify that the data files remain intact.
Interoperability with antivirus scanners
Workspace Virtualization contains functionality to guarantee that antivirus
scanners and other file utility applications can scan the native file system. These
applications are added to an ignore list so they do not see virtualized data when
they run. This guarantees that all files are properly scanned. You might also want
to add other programs to the ignore list so that they view the file system data
without any Virtualization. For example, if an inventory programsees a file twice
(virtualized and unvirtualized), it might count the file twice.
We recommend that you use this feature for your antivirus scanner. The
Workspace Virtualization Agent does not affect the run-time protection feature
of antivirus software. Antivirus products properly scan virtualized files when
they are opened. Any measures that the antivirus product takes against a file
occur on the native file system. However, there is an issue with manual antivirus
scanning. If a file exists in the base and in a virtual software layer, these files
overlay each other. A manual scan only sees and scans one of the files. The scan
does not see the version in the native file system and the version in the virtual
layer.
To add applications to the ignore list
1 In the Windows registry editor , in the
HKLM\System\CurrentControlSet\Services\FSLX\Parameters\FSLkey, create
a Multi-String Value called ProgramIgnoreList.
2 Double-click ProgramIgnoreList.
Managing virtual software layers
Interoperability with antivirus scanners
64
3 Enter the complete path for the executable file that you want to ignore and
click OK.
The path can be hard-coded (c:\windows\scan.exe) or can contain a variable
([_B_]WINDIR[_E_]\scan.exe).
4 Restart the computer.
Hiding the FSLRDR redirection areas
The Workspace Virtualization Agent has a redirection area for files and registry
entries. The redirection area for the registry is
HKEY_LOCAL_MACHINE\Software\fslrdr. The redirectionarea for the file system
is typically c:\fslrdr. By default, these redirection areas are displayed. They are
also protected with ACLs so limited rights users cannot enter these areas.
If youare anadministrator, youmight want to hide the redirectionareas to protect
layers from malicious or accidental tampering. For example, a user with rights
might see the FLSRDR directory and, not knowing what it is, delete it. Then, all
layers would be lost.
If youhide the redirectionareas, theyare hiddenevenif the computer is configured
to show hidden files. Hiding the redirection areas can cause problems for the
programs that traverse the entire file system looking for data. For example, the
data is hidden from antivirus scanners and inventory programs. However, if you
hide the redirection areas, it does not affect run-time virus checking.
The following procedures hide the redirection areas only on that computer.
To hide the FSLRDR redirection areas manually
1 In the Windows registry editor , in the
HKLM\SYSTEM\CurrentControlSet\Services\FSLX\Parameters\FSL key,
create a DWORD value called HideRedirectAreas.
2 Set the value to "1".
3 Restart the computer.
Viewing the properties of a virtual software layer
You can view the properties of a virtual software layer. The properties include
information about the layer such as the layer GUID, layer type, and consumed
disk space.
65 Managing virtual software layers
Hiding the FSLRDR redirection areas
To view the properties of a virtual software layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on a layers right-click menu, click Properties.
Viewing variables used in a virtual software layer
Many applications have specific environment settings for file paths, paths in
registry values, and other values. To make virtual software layers portable across
computers, these paths can be represented by variables. Two types of variables
are available: user and system.
To view variables used in a virtual software layer
1 Start the SWV Admin tool.
2 Click Start > All Programs > Symantec > Workspace > Virtualization>
Symantec Workspace VirtualizationAdmin.
3 In the SWV Admin tool, on a layers right-click menu, click Properties.
4 In the Layer Properties dialog box, click the Variables tab.
Managing virtual software layers
Viewing variables used in a virtual software layer
66
Layer operations
This chapter includes the following topics:
Hide a layer from other layers or from the operating system
Add a layer dependency
Deactivate on last process exit
Clone a layer
Keep all data in layer
Capture changes made by non-virtualized applications
Hide a layer from other layers or from the operating
system
Layer isolation lets you control layers by turning off visibility between layers and
the base. Isolating layers makes it easier to use different versions of the same
program to open associated files.
A layer is isolated when all three visibility restrictions are active. Isolated layers
are visible only to layers to which the isolated layer is dependent. By using both
layer isolation and dependencies, you can control layer priority.
Change these settings to determine if a layer gets files fromthe operating system
or from another layer.
7
Chapter
To change layer visibility
1 Select a layer.
2 Right-click and select one of the following visibility options:
This option hides the selected
layer from all other layers. The
layer is still visible to the
operating system.
Hide FromOther Layers
This option makes the selected
layer invisible to the operating
system. The layer is still visible
to other layers.
Hide FromOperating System
This option makes all other
layers invisible to the selected
layer. The layer is still visible to
the base.
Hide Other Layers FromThis Layer
Add a layer dependency
Dependent layers let youspecify anassociationbetweenlayers. Dependent layers
are checked for files and services before the base layer 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 uses the JRE from this dependent layer,
rather than the JRE installed in the base or in another layer.
A layer can always see any dependent layers. Layer dependencies override any
layer visibility settings.
Dependent layers are activated automatically when any layers that contain the
dependency are activated. If a dependent layer does not activate, the main layer
is still activated. When a layer is deactivated its dependent layers are not
automatically deactivated.
Adding a layer dependency
1 In the SWV Admin tool, select the layer to which you want to add a layer
dependency.
2 Click Layer > Properties, and then click the Dependent layers tab.
3 Right-click and select NewDependent Layer.
4 Select the layer you want to add as a dependent layer and click OK.
Layer operations
Add a layer dependency
68
Removing a layer dependency
1 In the Symantec Workspace Virtualization Admin tool, select the layer from
which you want to remove a layer dependency.
2 Click Layer > Properties, and then click the Dependent layers tab.
3 Right-click a layer and then select Remove Dependent Layer.
Deactivate on last process exit
Deactivate on last process exit causes a layer to deactivate when all processes are
finished. This option is generally used with the Autorun from layer option to
deactivate layers when an application is closed.
See Capture changes made by non-virtualized applications on page 70.
Enabling Deactive When Last Process Exits
In the SWV Admin tool, right-click on a layer. Select Deactivate WhenLast
Process Exits from the layer context menu.
Clone a layer
Clone layer creates an identical copy of an existing layer with a new GUID.
Cloning a layer
1 In the SWV Admin tool, right-click a layer, and then select Clone.
2 In the Clone Layer dialog box, enter a name for the new layer.
3 Click OK.
Keep all data in layer
Keep in layer lets you save changes made to the files in a layer. If the layer is
active, changes to any file inthe layer are stored inthe layer. This optionincludes
any changes that are made by any application.
Layers save only the changes fromthe processes that exist within the layer. If an
external process (such as Notepad) changes a file, the file is copied to the base
and changes are not stored in the layer.
With keep changes in layer enabled, when a process modifies any file in the layer,
the change is saved in the layer. When the layer is deactivated, if this file exists
in the base, the file is in the same state as before the layer was activated.
69 Layer operations
Deactivate on last process exit
Keep file changes in layer works with global and layer excludes, as well as data
layers.
Enabling Keep File Changes in Layer
Inthe SWVAdmintool, right-click a layer. Select KeepFileChangesinLayer
from the layer context menu.
Capturechanges madeby non-virtualizedapplications
This option lets you select non-virtualized applications to run as if they were in
a layer. Any processes that the selectedapplications launchare runfromthe layer.
Any changes that are made by these processes are saved in the layer and not in
the base.
Autorun entries specify the path to applications you want to run from a layer.
When the layer that contains the autorun entry is active, changes made by
applications in the autorun entries list are always stored in the layer.
Run fromlayer is similar to setting an autorun entry but is for capturing changes
from a single use.
To capture application changes each time an application is used
1 In the SWV Admin tool, right-click a deactivated layer, and then click
Properties.
2 On the Layer Properties window, click the AutorunApplications tab.
3 Right-click inside the tab, and then click NewAutorunEntry.
4 Type in or browse to the application path, and then click OK.
The applicationmust be specifiedusing a full path. Ashortcut cannot be used
to specify an application.
To capture application changes for a single use
1 In the SWV Admin tool, right-click on the layer, and then click Run
ApplicationFromLayer.
2 Browse to the application that you want to run fromthe layer, and then click
OK.
Layer operations
Capture changes made by non-virtualized applications
70
Technical reference
This chapter includes the following topics:
About system variables
SVSCMD command-line parameters
Virtual software layer attributes
How layer prioritization works
How to set the HKCR priority of a layer
Windows Management Interface
OnEvent actions
About system variables
Many applications have specific environment settings for file paths, paths in
registry values, MSI paths, andso forth. To make Virtual Software Packages (VSPs)
portable across computers, Workspace Virtualizationprovides variables for many
application settings and data layer properties. Workspace Virtualization uses
common system variables to substitute for well-known locations on a Microsoft
Windows basedinstallation, suchas WINDIRfor the Windows folder. That provides
seamless compatibility with any computers that do not use the standard folder
structure. For example, a computer where the My Documents folder is moved
standard folders are renamed. You can viewthe variables on the Variables tab of
the Edit Layer dialog box.
See Viewing variables used in a virtual software layer on page 66.
Workspace Virtualization uses the following types of variables that are set as
environment variables when a layer is active:
8
Chapter
Static and loaded at boot time. Examples:
WINDIR = C:\Windows
SYSTEMDRIVE = C:
System variables
Per user and loaded when the user logs on. Examples:
DESKTOP = C:\Documents and
Settings\User\Desktop
USERPROFILE = C:\Documents and Settings\User
User variables
Workspace Virtualization uses the following tags to denote variables:
[_B_] = Begin tag
[_E_] = End tag
[_CS_] = Convert to short path
[_MSI_] = Convert to MSI path
SVSCMD command-line parameters
The SVSCMDexecutable file is installedwiththe Workspace VirtualizationAgent.
You can use this executable file with its command-line parameters to work with
Virtual Software Packages. Many of the command-line parameters also have
associated flags.
See About the management of virtual software layers on page 57.
See SVSCMD parameter flags on page 77.
To display the parameters and flags for SVSCMD, use the Help parameter. This
parameter also displays SVSCMD examples.
See SVSCMD command-line examples on page 79.
The syntax for using SVSCMD is:
SVSCMD [LayerGUID|LayerName] { [flags]} [...n]
The following table is a list of the available command-line parameters:
Table 8-1 SVSCMD command-line parameters
Description Associated Flags Parameter
Activates the layer. A[CTIVATE]
Technical reference
SVSCMD command-line parameters
72
Table 8-1 SVSCMD command-line parameters (continued)
Description Associated Flags Parameter
Sets a layer to activate at the
start of the computer. If this
parameter is enteredwithout
a flag, the default behavior is
to automatically activate on
start.
[-Y|-N] AUTO[ACTIVATE]
Add or delete process to
automatically run in the
layer. Providing no options
lists the processes that are
set to automatically run in
the layer.
[-A|-D] AUTORUN
Creates a new layer by
capturing changes. You
cannot perform a capture if
any other layer is activated
on the computer. Layer
names are limited to 50
characters.
[-P|-S|-E] C[APTURE]
Checks for a valid product
serial number. This
parameter tells you if your
key is good and provides
information about it. If this
parameter is enteredwithout
a flag, the default behavior is
to check for a valid product
serial number.
-K CHECKKEY
Clones a layer. -NAME [-RW] CLO[NE]
Creates an empty layer.
Layer names are limited to
50 characters
CREATE
Deactivates the layer. [-F] D[EACTIVATE]
Add, delete, or view
independent layers.
[-A|-D] DEP[ENDS]
Deletes the layer. [-F] DEL[ETE]
73 Technical reference
SVSCMD command-line parameters
Table 8-1 SVSCMD command-line parameters (continued)
Description Associated Flags Parameter
Create a patch file. -P [-F] DIFF[ERENCE]
Lists all layers on the
computer.
[-V] ENUM[ERATELAYERS]
Excludes all files that are
stored in the user profile.
This option creates a global
exclude that affects all
layers.
[-Y|-N] EXCLUDEALLPROFILES
Executes a process as a part
of a layer so that it appears
to run from the layer. This
command can be used as
follows:
If you want an audit tool
to see the computer from
the perspective of the
layer, you can run
SVSCMD "LayerName"
EXEC [path to the
executable file]. Then,
anyprocess that runs has
the same priority as if it
were run from the layer.
If you run a process that
makes changes to the file
system or registry, those
changes are saved in the
layer and not in the base.
For example, you can run
an EXE patch with this
parameter to save
changes that are made by
the patch in the layer.
[-PID|-PATH][-NOWAIT] EXEC[FROMLAYER]
Technical reference
SVSCMD command-line parameters
74
Table 8-1 SVSCMD command-line parameters (continued)
Description Associated Flags Parameter
Exports the layer to a virtual
software archive file or
virtual runtime archive file.
The provided file extension
specifies the layer archive
type. Provide an XPF
extension to use the
Extensible Package Format.
Provide a VSA extension to
use the legacy virtual
software archive format.
[-P] E[XPORT]
Set a layer to deactivate on
last process exit.
[-Y|-N] EXIT
Displays the SVSCMD
command-line parameters,
flag options, and
command-line examples.
H[ELP]
Tells Workspace
Virtualization to ignore this
process.
[-W] -P Ignore
Imports a virtual software
archive file. Archive files can
be in XPF, VSA, or VRA
format.
[-P|-F] I[MPORT]
File/registry items to keepin
a layer. Providing no options
lists the registry items
currently set to keep in the
layer.
-FILE|-REG [-A|-D] KEEP
Create newreset point. Copy
read-write sublayer to
read-only sublayer. The SID
optioncopies the givenSID's
read-write to the read-only's
user template area. Without
-SID no SID information is
copied
[-SID] NEWRESET[POINT]
75 Technical reference
SVSCMD command-line parameters
Table 8-1 SVSCMD command-line parameters (continued)
Description Associated Flags Parameter
Enables partial activation.
See Activating a virtual
software layer using a
desktop shortcut
on page 44.
[-Y|-N] |
[-LAYERCHANGED]
[-BACKGROUND]
PARTIALACTIVATE
Applies a patch file. The
-INPLACE option overlays
the patch over the existing
layer. The -RWoptioncopies
the existing ReadWrite layer
to the new layer that the
patch creates.
-P [-INPLACE|-RW] PAT[CH]
Sets the priority of a layer.
See Howlayer prioritization
works on page 84.
[-T|-L|-R] PRIORITY
Displays the following
properties of a layer: name,
state, type, priority, version,
GUID, last activated time,
create time, last reset time,
redirect locations, layer
subtype, depot GUID, andthe
layers depot path.
[-V] P[ROPERTIES]
This parameter has been
deprecated.
REF[RESHDESKTOP]
Renames the layer. Layer
names are limited to 50
characters.
-NAME REN[AME]
Technical reference
SVSCMD command-line parameters
76
Table 8-1 SVSCMD command-line parameters (continued)
Description Associated Flags Parameter
Reloads the Global Exclude
list fromthe registry into the
Workspace Virtualization
Agent. Use this command
after the global exclude
properties have been
manually changed in the
registry. This list is reloaded
automatically when the
computer is restarted, or if
the changes were made
locallyusingthe SWVAdmin
tool.
REL[OAD]
Resets the layer. [-F] R[ESET]
Sends updated inventory
data to Notification Server.
SEND[INVENTORY]
Sets the layer ID to the new
GUID.
SETGUID
Updates the product serial
number. You can use this
parameter to manually set a
key.
-K SETKEY
Displays Workspace
Virtualization version
information.
VER[SION]
Set, unset, or view a layer's
visibility.
[-SET|-UNSET] VIS[IBILITY]
SVSCMD parameter flags
Some of the SVSCMDparameters have associated flags. The list of command-line
parameters has a column that lists any flags you can use with a command-line
parameter.
See SVSCMD command-line parameters on page 72.
The following table is a list of the available SVSCMD parameter flags:
77 Technical reference
SVSCMD command-line parameters
Table 8-2 SVSCMD parameter flags
Description Flag
Add a value (command specific). -A[DD] <value>
Makes a partially activatedlayer beginto fully activate itself
in the background approximately one minute after startup.
-BACKGROUND
Delete a value (command specific). -D[EL] <value>
Ends capture. -E[ND]
File pattern of files to keep in the layer. -FILE -ADD <pattern>
Forces the command when it might otherwise fail. For
example, youcanforce a layer to overwrite anexisting layer
during import. You can also force an application that is
running from a layer to close.
-F[ORCE]
Specifies the product serial number. -K[EY] <serial>
Used to indicate that a partially activated layer has been
changed or altered. This flag allows partial activation of
that layer to function correctly.
-LAYERCHANGED
Specifies the priority of the layer. -L[EVEL] <level>
Specifies the new name for the layer. -NAME <name>
Turns off the option. -N[O]
This flag has been deprecated. -N[O]D[ESKTOP]R[EFRESH]
Do not export user-specific information. -NOUSER
Do not wait for executed process to complete. -NOWAIT
Specifies a directory path. If the path contains a space, put
it in quotes.
-P[ATH] <path>
Specifies the PID of the process that needs to be executed
as a part of layer.
-PID <PID>
Resets the priority of the layer to the default priority. -R[ESET]
Copy the writable sublayer. -RW
Technical reference
SVSCMD command-line parameters
78
Table 8-2 SVSCMD parameter flags (continued)
Description Flag
Set a layer's visibility where <value> can be:
1- Other layers cannot see this layer
2- This layer cannot see other layers
3- Base layer cannot see this layer
-SET <value>
User SID. An empty string specifies the current user's SID. -SID
Starts the capture. -S[TART]
Specifies the priority type (HKCR). -T[YPE] <type>
Set a layer's visibility where <value> can be:
1- Other layers cannot see this layer
2- This layer cannot see other layers
3- Base layer cannot see this layer
-UNSET <value>
Displays verbose command output. -V[ERBOSE]
Makes SVSCMD wait for the application to close before it
continues.
-W[AIT]
Enables an option. -Y[ES]
SVSCMD command-line examples
The following is a list of SVSCMD command-line examples with an explanation
of what each example does. The examples are listed in alphabetical order by the
command-line parameter that is used.
See SVSCMD command-line parameters on page 72.
Table 8-3
Result Command-line examples
Activates the specified layer. SVSCMD.EXE "Layer name" A
Activates all layers. SVSCMD.EXE * A -NDR REF
Sets the layer with the specified GUID to
start automatically.
SVSCMD.EXE
4db31efa-9163-45de-b33f-bb4737aa022c
AUTO -Y
79 Technical reference
SVSCMD command-line parameters
Table 8-3 (continued)
Result Command-line examples
Ends the capture of changes to the layer.
This commandis usedafter the CAPTURE
-START command.
SVSCMD.EXE "Layer name" CAPTURE -E
Creates a layer for Notepad.exe. SVSCMD.EXE "Notepad" CAPTURE -P
C:\WINDOWS\system32\notepad.exe
Creates a new layer with the specified
name. The capture starts and is active.
SVSCMD.EXE "Layer name" CAPTURE
-START
Lets youknowif the specifiedproduct key
is a valid key.
SVSCMD.EXE CHECKKEY -KEY
xxxxx-xxxxx-xxxxx-xxxxx
Creates anemptylayer withthe specified
name.
SVSCMD.EXE "Layer name" CREATE
Forces a deactivation of the specified
layer.
SVSCMD.EXE "Layer name" D -F
Forces a deletion of the specified layer. SVSCMD.EXE "Layer name" DEL -F
Lists all existing layers. SVSCMD.EXE ENUM
Exports the specified layer to the
specified layer archive file.
SVSCMD.EXE "Layer name" EXPORT -PATH
"C:\My Packages\Layer.vsa"
Displays the help for SVSCMD. SVSCMD.EXE HELP
Forces the import of the specified layer
archive file.
SVSCMD.EXE I -P C:\VSP\Layer.vsa -F
Ignores the requested process. This
command is generally used during
capture.
SVSCMD.EXE ignore -WAIT -PATH
"C:\Program Files\Microsoft
Office\Office 11\WINWORD.EXE
MyWord.doc"
Displays the properties for the specified
layer.
SVSCMD.EXE "Layer name" P
Sets the priority for the specified layer
with a priority value of 65.4.
SVSCMD.EXE "Layer name" PRIORITY -L
65.4
See How layer prioritization works
on page 84.
Resets the priority of the specified layer. SVSCMD.EXE "Layer name" PRIORITY -R
Technical reference
SVSCMD command-line parameters
80
Table 8-3 (continued)
Result Command-line examples
Sets the priority for the specified layer to
type HKCR with a priority value of 65.4
SVSCMD.EXE "Layer name" PRIORITY -T
HKCR -L 65.4
Resets the priority of the specified layer
and sets the type to HKCR.
SVSCMD.EXE "Layer name" PRIORITY -T
HKCR -R
Sets the priority of the specified layer
with a priority value of 65.4 and sets the
type to Normal.
SVSCMD.EXE "Layer name" PRIORITY -T
NORMAL -L 65.4
Resets the priority of the specified layer
and sets the type to Normal.
SVSCMD.EXE "Layer name" PRIORITY -T
NORMAL -R
Reloads the Global Exclude list from the
registry into the Workspace
Virtualization Agent.
SVSCMD.EXE RELOAD
Forces a reset of the layer with the
specified GUID.
SVSCMD.EXE
4db31efa-9163-45de-b33f-bb4737aa022c
reset -F
Sends inventory information to
Notification Server.
SVSCMD.EXE SEND
Changes the GUID of the specified layer
to the specified GUID.
SVSCMD.EXE "Layer name" SETGUID
0C4936F6-4943-4D0F-9647-29FE71216c89
Sets the product key for the Workspace
Virtualization Agent.
SVSCMD.EXE SETKEY -KEY
xxxxx-xxxxx-xxxxx-xxxxx
Displays the current version of the
Workspace Virtualization Agent files.
SVSCMD.EXE VER
Unsets the specifiedlayer's visibilityfrom
"Other layers cannot see this layer."
SVSCMD.EXE
0C4936F6-4943-4D0F-9647-29FE71216C89
VISIBILITY -UNSET 1
Sets the specified layer's visibility to
"Base layer cannot see this layer."
SVSCMD.EXE "Layer name" VISIBILITY
-SET 3
Sets a dependency between the specified
layers.
SVSCMD.EXE "Layer name" DEPEND -A
0C4936F6-4943-4D0F-9647-29FE71216C89
81 Technical reference
SVSCMD command-line parameters
Table 8-3 (continued)
Result Command-line examples
Creates a patch archive file from the
specified layers and saves it in the
specified folder path.
SVSCMD.EXE "Sample App" DIFFERENCE
"Sample App V2" -PATH c:\app.vpa
Applies the specified patch archive file. SVSCMD.EXE PATCH -PATH
c:\temp\app.vpa
Applies the specified patch archive file
over the existing layer.
SVSCMD.EXE PATCH -PATH
c:\temp\app.vpa -INPLACE
Applies the specified patch archive file
and copies the writeable sublayer to the
newly patched layer.
SVSCMD.EXE PATCH -PATH
c:\temp\app.vpa -RW
Clones the specified layer. SVSCMD.EXE "Layer Name" CLONE -NAME
"Layer Name Clone"
Sets the layer to deactivate on the exit of
the last process.
SVSCMD.EXE "Sample App" EXIT -Y
Virtual software layer attributes
The attributes section contains the layer attributes for the registry redirection
area. You can view these attributes at
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FSLX\Parameters\FSL.
In this directory each layer has a numbered folder. The following table lists and
describes the different attributes:
Warning: Do not modify these attributes in the registry.
Table 8-4 Layer attributes
Description Attribute
The date andtime whenthe sublayer was last activated(value
= binary_date_time). This attribute is updated when Activate
is called or when the computer starts if the layer is
ActiveOnStart.
ActivateTime
The sublayer is currently inactive (value = 0) or the sublayer
is active (value = 1). Activate sets this value to 1. Deactivate
sets this value to 0.
Active
Technical reference
Virtual software layer attributes
82
Table 8-4 Layer attributes (continued)
Description Attribute
The sublayer is active on systemstart (value = 1). You change
this value by setting a layer to start automatically.
See Configuring a virtual software layer to start
automatically on page 44.
ActiveOnStart
The date and time at which the layer was created (value =
binary_date_time).
CreateTime
Deprecated entry, not used. Enabled
The path to the sublayer's file redirection area (value =
Root:\Fslrdr\sublayer_folder_number). The files for the layer
are stored here.
FileRedirect
A value that represents the layer type. The value is a decimal
value of a five bit hex value. The value of each bit represents
a different type. For example, if the layer is a data layer, the
value of the first bit is 1.
Flags
The sublayer's GUID(value =GUID). Youcanuse the SVSCMD
executable file with the SETGUID parameter to change this
value.
ID
Combines withMinorVersiontoindicate the sublayer's format:
either (value = 0), (value = 1), or (value = 2). Different major
versions are usually not compatible.
MajorVersion
Combines withMajorVersiontoindicate the sublayer's format:
either (value = 0), (value = 1), or (value = 2). Different minor
versions are usually compatible. Internal layer upgrades are
applied to move a minor version to the current version. This
process is not reversible.
MinorVersion
The layer's name (value = layer_name). The visual name of
the layer. You can change a layers name in the SWV Admin
tool or with the SVSCMD executable file.
Name
The GUID for the sublayer's companion sublayer (value =
companion_sublayer's_guid). This attribute is used to link the
read-only sublayer to the writeable sublayer and vice versa.
Youindirectly change this value withthe SVSCMDexecutable
file and the SETGUID parameter.
PeerID
The sublayer's writeable status; either read-only (value = 1)
or writeable (value = 0).
ReadOnly
83 Technical reference
Virtual software layer attributes
Table 8-4 Layer attributes (continued)
Description Attribute
The date and time at which the layer was last reset (value =
binary_date_time). This value is indirectly changed when a
layer is reset.
RefreshTime
The location of the layer's registry data (value =
SOFTWARE\fslrdr\sublayer_folder_number). The registry
entries for a layer are stored here.
RegRedirect
(Optional) Set value =1to delete this layer. The layer is deleted
after this value is checked.
ShouldDelete
The layer's type: application (value=0), peer (value=1), data
(value=2).
Type
See SVSCMD command-line parameters on page 72.
How layer prioritization works
The Workspace Virtualization Agent assigns an HKCR priority to each layer. If a
systemrequest applies to more thanone activated layer, the systemuses the layer
with the highest HKCR priority. If two activated layers have the same HKCR
priority, you cannot predict which layer the system request accesses. To resolve
this problem, you can set a layers HKCR priority.
See How to set the HKCR priority of a layer on page 86.
Prioritization works as follows:
If two virtualized applications are registered to open a file type, it determines
which layer opens that file type.
For example, you have activated layers for two different Web browser
applications. Both applications are registered to open HTML files. You can
assign a higher priority to one of the layers so that it is used to open the HTML
files.
If two virtualized applications use different versions of the same DLL file, it
determines which layers DLL file appears in the Windows directory.
For each systemrequest, the Workspace Virtualization Agent does the following
in order:
Builds a list of activated layers.
Assigns each layer a priority value.
Technical reference
How layer prioritization works
84
Orders a list of activated layers based on these priorities.
HKCR (HKEY_CLASSES_ROOT) requests are based on file type. For example, the
system would make an HKEY_CLASSES_ROOT request if a user clicked on a text
file. If the request involves a process, the Workspace Virtualization Agent also
takes into considerationthe owner layer of a process. The owner layer of a process
is the layer that houses the executable file that starts the process. The owner layer
of a child process is the same as the owner layer of its parent process. The owner
is the same even if the executable file that starts the child process is in a different
layer.
The following table lists the default priority values assigned by Workspace
Virtualization (the lowest numerical value representing the highest priority):
Table 8-5 Layer priority values
Default Priority Description Type of Request
55.5 highest Priority of the layers registry entries from
the perspective of an application running
from that layer.
Normal owner
65.5 Priority of the layers registry entries from
the perspective of an application running
outside the layer.
Normal
75.5 Priority of the bases registry entries from
the perspective of an application running
from the base.
Base owner
85.5 lowest Priority of the bases registry entries from
the perspective of an application running
from a layer.
Base
For example, you have an activated layer for Firefox with Internet Explorer
installed on the base layer. When you open an HTML file, the Workspace
Virtualization Agent does the following in order:
Builds a list of all activated layers and the base.
Assigns the following priorities:
65.5 to the Firefox layer
85.5 to the Internet Explorer
Launches Firefox because it has the highest priority.
85 Technical reference
How layer prioritization works
How to set the HKCR priority of a layer
If a system request applies to two activated layers that are assigned the same
priority, you cannot predict which layer the system request accesses. To resolve
this issue, you can assign one layer a higher priority. To assign a priority to a
layer, use the SVSCMDexecutable file withthe PRIORITYcommand-line parameter
and its flags.
See SVSCMD command-line parameters on page 72.
See SVSCMD parameter flags on page 77.
For example, youhave activatedlayers for twodifferent Webbrowser applications.
Both applications are registered to open HTML files. You can assign a higher
priority to one of the layers so that it is used to open the HTML files.
Use caution when you change the priorities of layers. You can use any numeric
value for a priority, but we recommend that you change only the values to the
right of the decimal. For example, if two layers have a default priority of 65.5, you
can change one to 65.4. This change assigns one layer a higher priority without
changing the priority in relationship to other layers. If you change the values to
the left of the decimal, it could cause problems when newlayer types are created
in the future.
See How layer prioritization works on page 84.
Windows Management Interface
This sectiondescribes WorkspaceVirtualizationsupport for Windows Management
Interface.
See the following article on Connect for more information and examples:
WMI
VirtualSoftwarePackage class
All the standard SVScmd and SVSadmin functions are located in the
VirtualSoftwarePackage class.
Table 8-6 indicates the properties for this layer class.
Technical reference
How to set the HKCR priority of a layer
86
Table 8-6 VirtualSoftwarePackage Properties
Description Datatype Name
Layer ID.
This value is a GUID.
string ID
Layer name. Writeable. string Name
Current active or inactive state of the layer Boolean Active
The layer is activated automatically when the
system is started. Writeable.
Type of the virtual software package.
Boolean AutoActivate
0 = Application
1 = Data
uint32 Type
When the layer was created. datetime CreatedTime
When the layer was last activated. May be null if
the layer has never been activated.
datetime ActivatedTime
When the layer was last reset. May be null if the
layer has never been reset.
datetime ResetTime
If there is a switch for an action in SVScmd, it can also be performed with WMI.
Table 8-7 indicates the methods for WMI actions:
Table 8-7 VirtualSoftwarePackage Methods
Explanation Example Action Name
Imports a new layer. Once the
import is complete, the layer can
be enumerated, and the other
(non-static) methods can be called.
static uint32 Import(
[in] string Filename,
[in] bool Overwrite,
[out] string PackageId
)
Import
87 Technical reference
Windows Management Interface
Table 8-7 VirtualSoftwarePackage Methods (continued)
Explanation Example Action Name
Activates a layer.
Activating a layer through
SVSAdmin or SVSCmd results in
the current user's desktop being
refreshed. Due to security
limitations, activating through
WMI does not refresh the desktop
or the Admin utility if it is open.
uint32 Activate(
)
Activate
Deactivates a layer. You can force
the deactivation if there is a
process still running fromthe layer
The same security limitations that
apply to activation also apply to
deactivation.
uint32 Deactivate(
[in] Boolean Force,
[out] uint32 ProcessId
)
Deactivate
Resets a layer. Similar to
SVSAdmin, this call deactivates the
layer if necessary, and thus
supports the same parameters as
deactivate. The layer returns to the
previous state before reset: e.g., if
the layer was active before the
reset, it is restored to the active
state.
uint32 Reset(
[in] Boolean Force,
[out] uint32 ProcessId
)
Reset
Sets the value of the AutoActivate
property.
uint32 SetAutoActivate(
[in] Boolean AutoActivate
)
SetAutoActivate
Exports the layer to an archive file
on the disk.
uint32 Export(
[in] string Filename,
[in] bool Overwrite
)
Export
Deletes the layer. The layer must
be deactivated.
uint32 Delete(
)
Delete
Technical reference
Windows Management Interface
88
Table 8-7 VirtualSoftwarePackage Methods (continued)
Explanation Example Action Name
Renames the layer. uint32 Rename(
[in] string Name
)
Rename
VirtualSofwareSublayer class
The VirtualSofwareSublayer class is for pulling informationabout eachsublayer:
the read-only and the writeable sublayers. No methods are included in this class.
Table 8-8 indicates the properties for this layer class
Table 8-8 VirtualSofwareSublayer Properties
Description Datatype Name
Layer ID.
This value typically takes the
form of a GUID.
string ID
Package ID. This value is a foreign
key to a VirtualSoftwarePackage
class instance. [In the current
implementation this value is also
the same as the IDof the primary
(non-peer/read-only) sublayer.]
string PackageId
File system path where the
redirection area of the layer is
located.
string FileRedirectPath
Registry path where the
redirection area of the layer is
string RegistryRedirectPath
Type of the layer.
0 = Normal
1 = Peer
2 = Data
uint32 Type
89 Technical reference
Windows Management Interface
Using WMI
To use all the methods in Symantec Workspace Virtualization, it is necessary to
bind to different objects. The following sections describe each object and sample
subroutines.
VirtualSoftwarePackage
To access several (but not all) methods, you need to bind to
\root\default:VirtualSoftwarePackage. This method provides access to Import
and Export. The Restore and Backup impersonation are set because Import and
Export require them to function.
Copy and paste the following code into the script and then call setWMIForSVS:
SUB setWMIForSVS
SET objWMIService = GetObject( _
"winmgmts:{impersonationLevel=impersonate,(Restore, Backup)}!\\" & _
strComputer & "\root\default:VirtualSoftwarePackage" )
WScript.Echo "WMI Set to SWV mode"
END SUB
Default
For all other methods, you need to bind to \root\default. This method uses Debug
impersonation. you might need to set this impersonate level to deactivate a layer.
For example, Apache has a process that is not owned by the user who launched
it. If you are unsure if this is required you can try to run the script without this
debug level. This level removes many security features and should not be used
unless required. To use the cimv2 object to kill a process ina layer you need Debug
impersonation.
Copy and paste the following code into the script and then call setWMIToDefault:
SUB setWMIToDefault
SET objWMIService = GetObject( _
"winmgmts:{impersonationLevel=impersonate,(Debug)}!\\" & _
strComputer & "\root\default" )
WScript.Echo "WMI Set to default mode"
Technical reference
Windows Management Interface
90
END SUB
Cimv2
While there are no methods attached to this object, you might need to use it in a
VBscript. You need Debug impersonation level to kill any process you do not own
using Deactivate.
Copy and paste the following code into the script and then call setWMIToDefault:
SUB setWMIToCimv2
Set objWMIService = GetObject( _
"winmgmts:{impersonationLevel=impersonate,(Debug, Restore,Backup)}!\\" & _
strComputer & "\root\cimv2" )
WScript.Echo "WMI Set to cimv2 mode"
END SUB
Workspace Virtualization functions
This section contains sample functions to show how common methods are used.
These are all intended to be used with ON ERROR RESUME NEXT error handling.
Activate
'function activate(guid) - Activates a Layer by GUID
' guid: String --guid of VSA to be activated
' Returns Success: Boolean
FUNCTION activateSVS(guid)
SET objItem = objWMIService.Get( "VirtualSoftwarePackage.Id=" & _
""""& guid &"""" )
IF Err.Number <> 0 THEN
activateSVS=false
ELSE
WScript.Echo "Activating layer: " & objItem.Name
91 Technical reference
Windows Management Interface
x = objItem.Activate()
IF Err.Number <> 0 THEN
activateSVS=false
ELSE
activateSVS=true
END IF
END IF
END FUNCTION
Deactivate
'function deactivate(guid) - deactivates a Layer by GUID
' guid: String --guid of VSA to be deactivated
' Returns Success: Boolean
FUNCTION deactivateSVS(guid)
SET objItem = objWMIService.Get( "VirtualSoftwarePackage.Id=" & _
""""& guid &"""" )
IF Err.Number <> 0 THEN
deactivateSVS=false
ELSE
WScript.Echo "Deactivating layer: " & objItem.Name
x = objItem.Deactivate()
IF x <> 0 THEN
WScript.Echo "Error Code: " & x
deactivateSVS=false
ELSE
deactivateSVS=true
END IF
Technical reference
Windows Management Interface
92
END IF
END FUNCTION
Import
'function import (vsa,path) - imports the VSA into SWV
' vsa: String --Name of VSA to be imported
' path: String -- path to VSA
' Returns Success: GUID or False
FUNCTION importSVS(myVSA,myPath)
WScript.Echo "Importing layer: " & myPath & myVSA
result = objWMIService.Import( myPath & myVSA , True, packageId )
WScript.Echo "Importing Finished"
IF Err.Number <> 0 THEN
importSVS=false
ELSE
importSVS=packageId
END IF
END FUNCTION
WMI sample scripts
This section contains sample scripts that demonstrate WMI functionality.
Enumerating activated layers
strComputer = "."
SET objWMIService = GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default" )
SET colItems = objWMIService.ExecQuery( _
93 Technical reference
Windows Management Interface
"Select * from VirtualSoftwarePackage Where Active = True" )
FOR EACH objItem IN colItems
WScript.Echo "Id: " & objItem.Id
NEXT
Finding Sublayers for a Layer
strComputer = "."
SET objWMIService = GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default" )
SET colItems = objWMIService.ExecQuery( _
"Select * from VirtualSoftwareSublayer " & _
"Where PackageId = ""guidguid-guid-guid-guid-guidguidguid""" )
FOR EACH objItem IN colItems
WScript.Echo "Id: " & objItem.Id
NEXT
OnEvent actions
OnEvent entries let youtrigger actions automatically whena layer's state changes.
For example, you can play a sound when a layer is activated or run a program
when a layer is deactivated. The following table explains all possible registry
values, all of which are REG_MULTI_SZ types:
Table 8-9 OnEvent actions
Function Registry value
Triggers an action before layer activation OnPreActivate
Triggers an action after layer activation OnPostActivate
Triggers an action before layer deactivation OnPreDeactivate
Triggers an action after layer deactivation OnPostDeactivate
Technical reference
OnEvent actions
94
Table 8-9 OnEvent actions (continued)
Function Registry value
Triggers an action before layer import OnPreImport
Triggers an action after layer import OnPostImport
Triggers an action before layer export OnPreExport
Triggers an action after layer export OnPostExport
Triggers an action before layer reset OnPreReset
Triggers an action after layer reset OnPostReset
Triggers an action before layer deletion OnPreDelete
Triggers an action after layer deletion OnPostDelete
Triggers an action before new layer creation OnPreCreate
Triggers an action after new layer creation OnPostCreate
Triggers an action before an application is captured to
a layer
OnPreCapture
Triggers an action after an application is captured to a
layer
OnPostCapture
For a global setting, place the value in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FSLX\Parameters\FSL.
For a local setting, create the value in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FSLX\Parameters\FSL\1,
where '1' is the read-only (RO) layer number.
Layer numbers canbe found by selecting Details fromthe Viewdrop-downinthe
SWVAdmintool. The Sublayerinfocolumnlists boththe read-onlysublayer (RO)
and the writable sublayer (RW) numbers.
For example, a user edits an HTML document and wants Notepad++ to always
open when a layer containing Firefox is activated. The user can create a registry
value named OnPreActivate with the value data 'C:\Program Files\Mozilla
Firefox\Firefox.exe'. This value runs Firefox.exe before the layer is activated.
If Notepad++ is also captured to the layer containing Firefox.exe, the registry
value needs to be named OnPostActivate. Notepad++ is not available until the
layer is successfully activated.
95 Technical reference
OnEvent actions
OnEvent actions canalso be usedwithany layer operations that canbe performed
with SVSCMD command-line actions. For example, you want to reset a layer
containing Firefox every time the layer is deactivated. Youcanaddanentry named
OnPostDeactivate with the value'svscmd.exe [layer GUID] reset'. This
triggers a reset after deactivation.
If creating anonEvent action, the w tag canalso be used to cause the actionto wait
until the indicated process is finished. For example, the registry value
'OnPreActivate' withthe value data '"C:\WINDOWS\system32\notepad.exe"' runs
Notepad.exe before it activates a layer. However, changing the value date to
'w,"C:\WINDOWS\system32\notepad.exe"' indicates that thelayer does not activate
until the Notepad.exe process exits.
Post events are triggered regardless whether the main action is successful or not.
Post events occur for activate, delete, deactivate, create, and other main actions
regardless of the result of the main action.
Technical reference
OnEvent actions
96
A
Access Control Lists 21
ACLs. See Access Control Lists
activating
layers on start-up 44
layers using desktop shortcuts 44
Agent. See Workspace Virtualization Agent
application layers
global captures 37
single program captures 35
testing 63
applications
adding to existing layers 38
adding to ignore lists 64
virtualization guidelines 19
C
cloning a layer 69
command-line properties 27
D
data layers
creating 40
editing 46
testing 64
data loss, preventing 19
data, keeping in layer 69
delete entries 51
dependent layers
creating 68
removing 69
duplicate services 23
E
empty layers, creating 41
exclude entries
about 47
global excludes 49
ignoring global excludes 50
layer excludes 48
exclude entries (continued)
transferring global excludes 50
user profile excludes 50
Extensible Package Format. See XPF files
F
failed installation, cleaning up 31
fslrdr redirection areas, hiding 65
G
global captures 37
global exclude entries 47, 49
H
HKCR priorities 86
I
installing, Workspace Virtualization Agent 26
L
layer patch files 54
layer prioritization 84
layer properties, viewing 65
layer types 34
layer visibility 68
layers. See virtual software layers
M
managing layers. See virtual software layers
multiple concurrent users 23
N
non-virtualized applications, capturing changes 70
O
OnEvent actions 94
Index
P
program ignore list 64
R
redirection areas, hiding 65
registry settings, editing 46
renaming, virtual software layers 55
S
security 21
silent installation 27
single program captures 35
supported platforms 25
SVSCMD executables
command-line examples 79
command-line parameters 72
parameter flags 77
system variables 71
T
testing, virtual software layers 63
troubleshooting, installation 30
U
uninstalling, Workspace Virtualization Agent 30
updating virtual software layers 53
upgrading, Workspace Virtualization Agent 30
user profile exclude entries 47, 50
V
variables 66, 71
virtual software archive files. See vsa files
virtual software layers
about 15
actions 58
activating 61
activating on startup 44
adding an application 38
adding delete entries 51
attributes 82
capturing 34
capturing changes 70
cloning a layer 69
creating 33
deactivate on last process exit 69
deactivating 61
deleting 62
virtual software layers (continued)
editing files 45
editing registry settings 46
exclude entries 4748
exporting 59
importing 60
isolating 67
keeping data in layer 69
layer prioritization 84
managing 57
multiple concurrent users 23
OnEvent actions 94
renaming 55
resetting 61
setting HKCR priorities 86
testing 63
types 34
updating 5253
variables 66
viewing properties 65
Virtual Software Packages
about 13
environments for usage 21
rights to modify 22
what to virtualize 19
workflow 18
VirtualSoftwarePackages
methods 89
properties 86
VirtualSoftwareSublayers 89
vsa files, importing 60
VSP. See Virtual Software Packages
W
WMI Provider, removing 31
Workspace Virtualization Agent
components 28
failed installation 31
installation troubleshooting 30
installing 26
installing with command-line 27
requirements 25
runtime mode 32
uninstalling 30
upgrading 30
Index 98
X
XPF files
about 16
exporting 59
importing 60
99 Index

Potrebbero piacerti anche