Novell, Inc., makes no representations or warranties with respect to the contents or use of this documentation, and
specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose.
Further, Novell, Inc., reserves the right to revise this publication and to make changes to its content, at any time,
without obligation to notify any person or entity of such revisions or changes.
Further, Novell, Inc., makes no representations or warranties with respect to any software, and specifically disclaims
any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc.,
reserves the right to make changes to any and all parts of Novell software, at any time, without any obligation to
notify any person or entity of such changes.
Any products or technical information provided under this Agreement may be subject to U.S. export controls and the
trade laws of other countries. You agree to comply with all export control regulations and to obtain any required
licenses or classification to export, re-export or import deliverables. You agree not to export or re-export to entities on
the current U.S. export exclusion lists or to any embargoed or terrorist countries as specified in the U.S. export laws.
You agree to not use deliverables for prohibited nuclear, missile, or chemical biological weaponry end uses. See the
Novell International Trade Services Web page (http://www.novell.com/info/exports/) for more information on
exporting Novell software. Novell assumes no responsibility for your failure to obtain any necessary export
approvals.
Novell, Inc.
404 Wyman Street, Suite 500
Waltham, MA 02451
U.S.A.
www.novell.com
Online Documentation: To access the latest online documentation for this and other Novell products, see
the Novell Documentation Web page (http://www.novell.com/documentation).
Novell Trademarks
For Novell trademarks, see the Novell Trademark and Service Mark list (http://www.novell.com/company/legal/
trademarks/tmlist.html).
Third-Party Materials
All third-party trademarks are the property of their respective owners.
novdocx (en) 16 April 2010
novdocx (en) 16 April 2010
4ZENworks Application Virtualization User Guide
2 OVERVIEW
Thank you for using Novell ZENworks Application Virtuali z a tion!
This product will allow you to convert your Windows, .NET, Java, AIR, Flash, Shockwave, or
other Windows-compatible application into a self-contained virtual application that can be
streamed from the web and run instantly on an end-user device. Unlike traditional deployment
methods, virtual applications do not require reboots, administrative privileges, or separate setup
steps for external components and runtimes. Virtual applications are isolated from other system
applications, preventing DL L conflic ts and other deployment nightmares.
This guide explains ho w to use ZENworks Application Virtualization to cr e a te your own virtual
applicati ons and begin enjoying the benefits o f this next-generation deployment technology.
7 Novell ZENworks Application Virtualization
2.1WHAT IS A VIRTUAL APPLICATION?
A virtual application is a virtual machine image pre-configured with all o f the files, registry data,
settings, components, runtimes, and other dependencies required for a specific application to
execute immediately. Virtual applications allow applicatio n publishers and IT administrators to
significantly reduce the costs and complexity associated with development, setup, configuration,
deployment, and maintenance of software applications.
For example, a publisher of an application based on the Microsoft .NET Framework or Java
runtime engine might create a virtua l a pplication combining the applica tion with the required
runtime engine. An end-user can run this application immediately, even if the user has not
installed t he required runtime engi ne, or has an incompatible runtime engine installed. This
improves both the user experience and reduces test and support complexity associated with
deploying the application.
Because virtual applications run in isolated execution environments, it is possible to
simultaneo usly execute multiple applications which would otherwise interfere with one a nother.
For example, applications which overwrite system DLLs or require different runtime engine
versions ca n all run simultaneously on a single host device. As an additi onal advantage, virtual
applications can provide access to internal virtualized copies of privileged system resources,
allowing unprivileged users to d irectly execute many applications withou t sec urity exceptions or
irritating Vista UAC prompts.
Unlike other virtualization systems, Novell v ir tual a pplication technology:
•Does not require any "player" software or separate installation: Novell virtual
applications are executable files that run immediately on the end-user machine without
changes to system infrastructure.
•Does not incur significant processi ng or filesystem overhead: Novell low-overhead
virtualization technology allows app lic a tions to run with essentially the sa me
performance characteristics as native executables.
•Does not require any operating syste m to be installed onto the virtual application: Novell
virtual apps provide all require d virtualized operating system functionality within the
internal virtual environment.
8 Novell ZENworks Application Virtualization
2.2 ZENWORKS APPLICATIONVIRTUALIZATION FEATURES
OVERVIEW
Use ZENworks Application Virtualization to:
•Create virtual applications that can be streamed from the web: Eliminate long downloads
and installs, and run virtual apps from any desktop with broadband Internet access.
•Create an application as a single executable that runs immediately: Package all
application files, registry settings, runti mes, and c omponents into a single executable that
runs immediately.
•Run Java and .NET without separ a te r unti me in sta lla tions: Java and /or .NET-based
applications run immediately, with no separate installation ste ps or runtime versioning
conflicts.
•Improve desktop security: Execute your applications without grant ing administrative
permissions to e nd-users. Stabilize desktop images by deploying applic a tions in
sandboxed virtual environments.
controls, and content viewers such as Acrobat, Flash, and Shockwave, directly into your
application.
•Eliminate Vista UAC prompts and compatibility errors: Deploy Novell virtual apps
regardless of access to privileged system resources, relieving users of annoying Vista
UAC prompts.
•Leverage Terminal Services and Citrix investments: By isolating applications from global
resource areas, Novell virtual application technology allows non-compliant
applications to function properly in Terminal Server and Citrix environments.
•Deploy inst antly on USB drives: Improve mobile worker productivity by placing your
Novell virtual app lic a tion onto a USB flash-memory drive. Run your application
immediately on remote PCs, with no installation steps, administrative privileges or driver
installations.
•Dramatically reduce test and support costs: Eliminate versioning conflicts, depend e ncies,
and "DLL hel l". Reduce test complexity and eliminate support requests associated with
dependency installation and inte r-application resource conflicts.
9 Novell ZENworks Application Virtualization
2.3 DO NOVELL VIRTUAL APPL ICATIONS REQUIRE ANY DEV ICE
DRIVERS
No. Novell virtualization takes place entirely in user-mode, so no device drivers are installed or
required.
?
10 Novell ZENworks Application Virtualization
2.4 HOW IS NOVELL VIRTUALIZATION DIFFERE NT F ROM
HARDWARE VIRTUALIZAT ION
Unlike hardware virtualization systems such as Microsoft Virtual PC and VMware, the Novell
application virtualization system virtualizes only those operating s ystem features required for
application execution. This allows virtualized app lic a tions to operate extremely efficiently, with
essentially the same performance characteristics as native executables.
Advantages of Novell virtualization over hardware virtualization include:
•Optimal performance: Novell virtual ap ps execute at essentially the same speed as
applicati ons running natively aga i nst the host hardware, with only a sma l l additional
memory footprint. By contrast, a pplications running within hardware-virtualized
environments experience significant slowdowns and impose a large memory footprint
because the virtual machine must include an entire virtualized host operating system.
•Dramatically reduced application size: Novell virtual apps require a disk footprint
proportional only to the size of the virtualized application, data, and included
components. As a result, Novell virtual apps are typically small enough to be
conveniently and quickly downloaded by end-users. Hardware virtualizatio n requires
an entire host operating system image, i nc l ud in g man y basic subsystems that are already
present on the end-user device. Eac h virtual machine may oc cupy several gigabytes o f
storage.
•Ability to run multip le virtual applications: Because of low-overhead characteristics, it is
possible to run multiple simultaneous virtual environments per processor. Conversely,
due to the high overhead of hardware virtualization, only a very small number of
hardware-virtualized environments per processor can be run.
•Reduced licensing costs: Novell does not require the purchase of separate operating
system licenses to use a virtual application. Hardware virtualization systems require a
host operating system in order function, possibly imposing additional licensing costs and
restrictions.
?
Hardware virtualization may be appropriate in certain specialized scenarios, includi ng:
•Non-Windows o perating sys t ems: Novell virtual apps run only on the Windows operating
system. Hardware virtualization can execute any operating system compatible with the
underlying virtualize d hardware , such as Linux.
•Kernel mode virtualization: The Novell Virtual OS only virtualiz es user-mode operating
system features, whereas hardware virtualization systems emulate the entire OS stack,
including kernel mode components. Applications requiring device drivers or other nonuser-mode software may require a hardware-virtuali zed envir onment to function
properly.
You should carefully evaluate the a dvantages a nd disadvant ages of different virtua lization
approaches before deciding on a technology to adopt for your deployment scenario.
11 Novell ZENworks Application Virtualization
2.5 WHAT PLATFORMS ARE SUPPORTED?
ZENworks Application Virtualization supports the following platforms for virtual application
build, snapshotting, and execution:
• Windows XP Pr ofessional
• Windows Embedded XP
• Windows 2000 Professional
• Windows 2000 Server
• Windows Server 2003, all editions
• Windows Vista, all editions
• Windows Server 2008, all editions
• Windo ws 7
ZENworks Application Virtualization supports these oper ating systems running within VMwar e
and Microsoft hardware virtualization and hypervisor environments.
ZENworks Application Virtualization also has limited support for the Windows Preinstallation
Environment (WinPE), though certain applications depending on operating system features
unavailable in WinPE may not function properly.
ZENworks Application Virtualization creates 32- and 64-bit executables. Both 32-bit (und er 32bit mode) and 64-bit executables can be run on x64-based platforms.
12 Novell ZENworks Application Virtualization
2.6 WHAT APPL ICATIONS CAN BE VIRTUALIZED US ING ZENWORKS
APPLICATION VIRTUALIZATION?
ZENworks Application Virtualization and the Novell virtualization engine support most major
Windows desktop applications. However, certain applications- by their nature- are unsuitable for
virtualization using Novell' s user-mode virtualization technology. These include application
features which contain or directly depend on interaction with specialized kernel-mode device
drivers or other kernel-mode extensions; operating system components and extensions; anti-virus
applications; and kernel event filtering, monitoring, and intrusion dete c tion applications.
Novell applications are compatible with most major anti-virus, runtime, and security packages
currently available.
13 Novell ZENworks Application Virtualization
3 GETTING STARTED
This section describes the system requirements for installing and run ning ZENworks Application
Virtualization, provides an overview of the ZENworks Application Virtualization user interface,
and walks you through the basic steps of creating a virtual application.
14 Novell ZENworks Application Virtualization
3.1 SYSTEM REQUIREMENTS
ZENworks Application Virtualization requires a Windows XP, Windows 2000 edition, or higher
operating system. The ZENworks Application Virtualization graphical interface assumes a screen
resolution of at least 800×600, although a screen resolution of at least 1024×768 is highly
recommended.
15 Novell ZENworks Application Virtualization
3.2 CONTROL PANEL OVERVIEW
The ZENworks Application V irtualization control panel allows you to configure your virtual
application filesystem and registry, embed external runtimes and components, take snapshots of
the application, and create virtual application executables. The primary interface consists of
a ribbon bar and several panes grouped by a functional area.
Located above the ribbon bar are:
•The Start menu button- located in the circle on the top left of the window- allows virtual
application configurations to be imported, opened, applied, saved, and closed.
•The Options bar provides ZENworks Application Virtualization interface customization
options, and the ability to install license certificates
•The help bar provides access to the ZENworks Application Virtualizat io n documentation
and knowledge base, including a searchable version of this document.
The ribbo n bar accesses common ZENworks Application Virtualization features:
•The Virtual Application tab provides access to the snapshot and build features, as well
as output configuration options such as the startup file, output directory, and diagnosticmode selection.
•The Runtimes tab provides a selection of auto-configurable runtime engi nes which can
be embedded into your application with a single click. These include . NET Framework,
Java, Flash, and Shockwave runti mes.
•The Components p anel allows layering of external virtual application components, such
as toolbars and optional features.
•The Setup panel allows configuration of MSI setup packa ge and shell i ntegration
options.
• The Expiration panel allows configuration of application exp ir a tion options.
• The ZENworks panel allows configuration of ZENworks Application Virtualizatio n
Startup and Bundle Publishing features.
16 Novell ZENworks Application Virtualization
Note: ZENworks Application Vir tualiz a tion users are individually responsible for assuring
compliance with licensing for a ny third-party redistributable components included using
virtualization.
17 Novell ZENworks Application Virtualization
3.3 METHODS OF CREAT ING VIRT UAL APPL ICAT IONS
ZENworks Application Virtualization offers three ways to create and configure virtualized
applications. The best method in a given scenario depends on the nature of the application to be
virtualized.
•Use an application template: ZENworks Application Virtualization includes templates for
popular applications which can be built and customized using a guided, step-by-step
process. This method is recommended for first-time users of ZENworks Applicatio n
Virtualization.
•Install via application snapshot: Snapshotting captures system state before and after an
application is installed and aut omatically configures virtual application settings based on
observed system changes. This method is ideal for virtualizing off-the-shelf applications
(Refer to the sub-section “Snapshotting applic ations” in t he “Configuring virtua l
applications” section for more information on this method).
•Manually configure an application: This method is most often used by developers
virtualizing internal ly developed applications. Manual configuration requires a high
degree of technical knowledge but allows the maximum a mount of control over vi rtual
application settings (Re fer to the sub-se c ti on “M a nua l l y confi gur i ng a si mple vir t ua l
application” in the “Walkthroughs” section for more information on this method).
All methods allow additional c onfiguration and customization once the initial virtual application
configuration has been constructed.
18 Novell ZENworks Application Virtualization
3.4 CREATING YO UR FIRS T VIRTUAL APPL ICAT ION
ZENworks Application Virtualization includes automated virtual application configuration
wizards for certain popular software applications. Novell recommends that first-time users begin
by building one of these auto-configurable virtual applications using the ZENworks Application
Virtualization Configuration Wiz ard .
To build an auto-configure d application:
•Open the ZENworks Application Virtualization Configuration Wizard. The wizard is
displayed on program startup, or can be opened by pressing the Configuration Wizard
button on the Virtual Application ribbon bar.
• Click on the box labeled Build a virtual application from a template.
• Select an application to virtualize from the Application dropdown. Some applications
may require download of additional configuration information or source application
media.
•Follow the wizard steps to construct the virtual application.
After completing the wizard, the virtual application configuration will remain loaded in the
ZENworks Application Virtualization interface. This allows the configuration settings generated
by the wizard to be inspected and additional customization to be performed (Refer to the following
sections “Configuring virtual applications” and “Customizing virtual applications” for more
information on configuration and c ustomization).
Congratulations on building yo ur first virtual application!
19 Novell ZENworks Application Virtualization
3.5 CONFIGUR ING V IRTUAL APPLICATIONS
Virtualization allows application deployment to be dramaticall y simplified by allowing files,
registry settings, components, and other application dependencies to be directly embedded into the
application executable. Use of Novell virtualization reduces setup complexity, prevents DLL
collisions, and allows applications to simulate the use of privileged disk and registry resources
without requiring ad mi nistrative privileges on the host machine.
20 Novell ZENworks Application Virtualization
3.6 SNAPSHOTTING APPLICATIONS
Most commercial applications require complex combinations of files ystem and registry entries in
order to function properly. In order to facilitate virtualization of these application s, ZENworks
Application Virtualization can snapshot application installations and automatically configure them
based on modifications made to the host system during application setup.
3.6.1 Snapshotting
Snapshotting uses "before” and “after" images of the host machine to determine the virtual
application configuration:
•“Before” snapshot: Taken prior to installing the application. This captures the state of the
host device without the target application installed.
•“After” snapshot: Taken after installing the application. Thi s captures a ll changes to the
host device during application installation. ZENworks Applic a tion Virtualization then
computes the changes, or deltas, between the before and after snapshots, and inserts these
changes into the configuration.
To use the sna pshot feat ure:
•Prepare the host device by either removing the target application and all dependencies, or
copying ZENworks Application Virtualization onto a "clean" machine.
•Click on the Virtual Application tab on the ribbon bar and click Capture Before. This
captures the "before" snapshot image. Snapshotting iterates through the filesystem and
registry, and therefore may take several minutes to complete.
•(Optional) Novell recommends you save the "before" snapshot before continuing. This
allows you to skip this s te p whe n snap s ho tt i n g sub seq uent applications from the same
clean machine image. To save the snapshot, click on the down arrow underneath the
Capture Before button and select Save Snapshot . Note that while ZENworks
Application Virtualization auto matically saves the most recent captured "before"
snapshot, this snapshot is reset once the Capture and Diff process is complete.
•Install your application along with o ther files, settings, runtimes, and c omponents you
wish to include in the virtual app lic a tion (Refer to the following sub-section “Adding
runtimes and components” for more information on additional configuration). If the
application setup requests a reboot, be sure to save the "before" snapshot and then
proceed with the reboot.
•On the Virtual Application tab on the ribbon bar, click Capture and Diff. This
captures the "after" snapshot, computes the deltas between the two snapshots, and
populates the virtual applicatio n with the delta entries.
•(Optional) Review the files ystem and registry entries, and remove any files or settings
which are not required for proper execution of your virtual application. Remo vi ng un used
entries will reduce virtual applica tion size, but be sure to avoid accidental removal of
required resources, as it will cause your virtual application to no longer function properly.
3.6.2 Saving snapshots
21 Novell ZENworks Application Virtualization
In many cases, the desired "before" snapshot remains fixed while many "after" snapshots are
taken. ZENwork s Application Virtualization allows you to save the "before" snapshot image so
that the snapshot does not need to be re-captured each time. Because snap s hotting may t ake
several minutes, this significantly reduces the time required to build virtual applications in this
scenario.
To save the "before" snapshot, click on the down arrow underneath the Capture Before button on
the Virtual Application r ibb on bar and select Save Sna pshot from the dropdown menu. Select
an appropriate filename and location and press Save. Similarly, to load a saved snapshot, select the
Load Snapshot menu item and navigate to the saved snapshot file. To clear the current "before"
snapshot image, select the Clear Snapshot menu item.
22 Novell ZENworks Application Virtualization
3.7 ADDING RUNT IMES A ND COMPONENTS
Many components and runtime systems consist of large, complex sets of filesystem entries and
registry settings. To simplify confi guration of the most co mmon components, ZENworks
Application Virtualization con ta ins a collection of pre-configured component settings which can
be added to your virtual application with a single click.
Additional runtimes and components should be added to the virtual application during the
snapshot process, before the “After” snapshot has been taken.
To add a r untime or component:
• Click on the Runtimes tab on the ribbon bar.
• Click on the appropriate runtime or component to select it for inclusion. Selected
components are indicated with a highlighted button. To r emove a component, click on the
button agai n. This toggles the component inclusion state.
For example, if your application is a .NET Framework 2.0 application, then selecting the .NET Framework 2.0 component will allow your executable to run on machines without the .NE T
Framework installed.
Note: Depending on the size of the component, selecting a component for inclusion can
significantly increase the size of the resulting executable. Therefore, you should onl y select
components which are required for proper execution of your application.
Note: You are responsible for assuring compliance with licensing for any third-party
redistributable components included in your virtualized applica tion.
3.7.1 Configuring the Java runtime
ZENworks Application Virtualization provides specialized support for the Java runtime. If your
application is based on Java runtime, press the Sun Java Runtime button on the Runtimes ribbon
bar. This displays the Java c onfiguration menu.
Select the appropriate version of the Java runtime from the Java runtime version dropdown. If
you are deploying your application as a set of .class files, then select the Class option from the
Startup type dropdown; if you are deploying within a .jar file, select the Jar option. Enter
the startup class name or Jar name in the appropriate textbox, along with any additional Java
runtime options.
23 Novell ZENworks Application Virtualization
3.8 LOADING AND S AV ING CONFIGURATIONS
Once you ha ve configured your virt ual applicat ion, and taken your “After” snapshot, you will
likely want to save the configuration for future use or modification. It is important to save the
virtual application snapshot in its original state in case erro rs are introduced during virtual
application customization and optimization. This also allo ws the application to be tested and
modified without the need to re-snapshot after each iteration.
To save a co nfiguration:
• Click on the Start button menu and select Save Configuration As...
• Select a filename and location and click Save. This saves the virtual application
configuration file. By default, configuration fi les use the extension .xappl.
Note: Configuration files do n ot store the contents of virtual filesystem files. The configuration
file specifies only the source path for each virtual filesystem entry. The source file must exist at
build time or the virtual applicatio n will not build successfully.
ZENworks Application Virtualization automatically stores source file locations as paths r e la tive to
the location of the saved XAPPL file, in the same directory as the XAPPL file (the folder marked
Files).
Note: ZENworks Application Virtualization users can create their own default settings for
application building by saving a XAPPL file with a few cust omization settings (E.g. changing the
default sandbox location) and no associated application, then loading this XAPPL file (and saving
as a new file) before beginning the snapshot process in a new project.
24 Novell ZENworks Application Virtualization
3.9 SPECIFYING A STARTUP FILE
The virtual filesystem may contain a large number of executable files (such as .exe, .cmd, and
.java) and viewable file formats (such as .html and .swf). Ho wever, your virtual application is
consolidated into a single executable. It is therefore necessary for the virtual application designer
to indicate a startup file- the executable or viewable file which is opened when the user executes
the virtual application.
A startup file should be specified after the application has been installed and configured with
runtimes, and the “After” snapshot has been taken.
To select the startup file:
• Click on the Vir tual Application tab on the ribbon bar.
• Click on the St artup File dropdown list. This displays a list of all files in the virtual
filesystem.
•Select the file to be used as the startup file, or navigate to the desired startup file in the
virtual filesystem display, right-cl ick the file, and select Set as Startup File.
Files located on the host device (o utside of the virtual filesystem) may also be used as startup
files. To select a file on the host device a s the startup file, enter the full path to the desir e d startup
file in the Startup File text box. Remember to use well-known root folder variables such as
@WINDIR@ and @PROGRAMFILES@ as the root of the full path to ensure that the startup
file can be properly located on all base operating systems.
Note: While any file can be selected as the startup file, you should only select a file which is
executable or viewable. Selecting a file which cannot be opened will cause an error when the
virtual application is started.
In some situations, a virtual app lic a tion may want to expose multiple start up files. For example,
when using a virtuali zed office productivity suite, one may want to launch either the word
processor, spreadsheet, or presentation component of the suite, while still deploying a single
executable file.
ZENworks Application Virtualization enables this scenario b y allowing multiple entry points into
the virtual application to be triggered based on a command-line argument to the virtual application
executable. For example, in the office suite scenario described above, one might use the command
line argument office word to trigger the word processor and office spreadsheet to trigger the
spreadsheet (Refer to the sub-section “Building OpenOffice via snapshot process” in the
“Walkthroughs” section for an example of Jukeboxing during the OpenOffice build process).
To specify multiple startup files:
•Click the Multiple button nex t to the Startup File textb ox on the Virtua l A pplication
ribbon bar. This displays the Startup Files selection dialog.
•Click on the File column on the first empty row in the startup file list and select the
desired file from the dropdown list. Files located on the host device (outside of the virtual
filesystem) may also be used as startup files. To select a file on the host device as the
startup file, enter the full path to the de sire d startup file in the Startup File text box.
• Enter the desired command line arguments, if any, in the Command Line column.
• Enter the desired command line trigger in the Trigger column. For example, in the
command li n e office word, the trigger would be word.
•Check the Auto Start checkbox if you want the startup file to always be automatically
launched on virtual applicatio n startup.
•After adding a new startup file, hit Enter in order to save
Note: When specifying a startup file lo c a te d outside of the virtual filesystem, r emember to use
well-known root folder variables such as @WINDIR@ and @PROGRAMFILES@ as the root
of the full p ath to ensure that the star tup file can be properly located on all base operating systems.
Note: The Auto Start flag can be specified for multiple startup files to automatically launc h
multiple applications that are t ypically used together in a single sessio n (a lso known as
"shotgunning").
26 Novell ZENworks Application Virtualization
3.11 EDITING THE VIRTUAL FILESYSTEM
ZENworks Application Virtualization allows you to embed a virtual filesystem into your
executable. Embedded files are accessible by your ZENworks Application Virtualizationprocessed application as if they were present in the real filesystem. However, virtual files- unlike
actual files on the host device- are not visible from and do not require changes to the host device.
In particular, the use of virtual files does not require a ny security privileges on the host devi ce,
even if the virtual files reside in a privileged directory such as the Windows dire c tory. Also,
because virtual files are embedded in the application executable, shared DLLs embedded in the
virtual filesystem will not inte rfere with or be overwritten by other applic a tions on the host device.
To add virtual files:
•Click on the Filesystem button located on the left side of the ZENworks Application
Virtualization window.
•Using the view on the rig ht, add the files and folders you wish to embed in the
application executable. The Application Directory root folder represents the folder
containing the virtual application binary on the executing device; the other root folders
represent the corresponding folders on the host device.
3.11.1 Virtualization Semantics
In the event of a collision between a file in the virtual filesystem and a file physica lly present on
the host device, the file in the virtual filesystem takes precedence.
Folders may be virtualized in Full, Merge, or Write Copy mode:
•Full mode: Only files in the virtual filesystem will be visible to the applica tion- even if a
corresponding directory exists on the host device- and writes are redirected to the
sandbox data area. Full mode is generally used when a complete level of virtual
application isolation is desired .
•Merge mode: Files present in a virtual folder will be merged with files in the
corresponding directory on the host machine, if such a directory exists. Writes to host
files are passed through to the host device and writes to virtual files are redirected into the
sandbox data area. Merge mode is generally used when some level of interaction with the
host device is desired. For example, Merge mode might be used to allow the virtualized
application to write to the host de vice' s My Documents folder.
•Write Copy mode: Files present on the host device are visible to the virtual environment,
but any modifications to folder contents are redirected to the sandbox data area. Write
Copy mode is generally used when a virtual application needs to read from files already
present on the host device but isola tion of the host device is still desired.
Tip: To apply the selected isolation mode to all sub folders, right-click on the folder, choose
Isolation, click on the checkbox for Apply t o subfolders, and c lick OK.
3.11.2 File At tributes
27 Novell ZENworks Application Virtualization
Files and folders may optionally be hidden from shell browse dialogs and other applications
enumerating virtual directory contents. This is often used to prevent internal components and data
files fro m being displayed to the user. To hide a file or folder, click on the checkbox in the
Hidden column next to the desir e d file or folder.
Note: Enabling the hidd en flag only prevents a file or folder from being displayed in browse
dialogs or from directory enumeration APIs. It does not prevent the application, and therefore
potentially the end-user, from accessing the folder or file contents by direct binding.
Flagging file s and folders as read-only will pre vent the application from modifying the file or
folder contents. To make a file or folder read-only, click on t he checkbox in the Read Only
column next to the desired file or folder.
3.11.3 Sandbox Upgradeable Files
By default, ZENworks Application Virtualization allows files in t he virtual filesystem to be
upgraded with patches ( refer to the topic “Updating a Virtua l App lic a tion” in the “Registering
virtual applications in the Windows shell” section for more information o n ap plication updates).
The Upgradeable flag will allow a specific file or folder to be patched in the sandbox at runtime.
To automatically allow a file or group of files to be upgraded, leave the Upgradeable checkbox in
the column next to the desired file or folder checked.
3.11.4 Filesys te m Co mpress io n
To reduce executable size, ZENworks Application Virt ualization can compress virtual files ystem
contents. This typically reduces virtual application payload size by approximately 50%, but also
prevents pr ofiling and st reaming of the app. By d efault, the Compress Payload option in the
Process Configuration area of the Settings panel is unchecked. This option should remain
unchecked during the build process in order to be able to profile and stream applications.
Note: Disabling payload compression may significantly increase the size of the virtual application
binary.
28 Novell ZENworks Application Virtualization
3.12 EDITING THE VIRTUAL REGISTRY
ZENworks Application Virtualization allows you to embed a virtual registry into your
executable. Embedded registry keys are accessible by your ZENworks Application Virtualizationprocessed application as if they were present in the real registry. Unlike data present in the registry
on the host d evice, virtual registry keys and values are not visible from and do not require changes
to the host device. In particular, the use of a virtual re gistry does not require an y security
privileges on the host device, even if the virtual registry entries reside in a privileged section of the
registry, such as HKEY_LOCAL_MACHINE. Also, because virtual registry entries are
embedded in the application executable, other applications ar e unable to disrupt application
execution by inadvertent modification of registry entries required by the application.
To add virtual registry data:
•Click on the Registry button located on the left side of the ZENworks Application
Virtualization window.
•Using the view on the right, add the registry keys a nd values you wish to e mbed in the
application executable. When adding blob data, enter the values in hexadecimal format.
The Classes root, Current user root, Local machine, and Users root folders corres pond to the
HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, and
HKEY_USERS keys on the host machine.
Registry strin g va lue s may include well-known root folder variables such as
@PROGRAMFILES@ and @WINDIR@.
3.12.1 Virtualization Semantics
In the event of a collisio n between a key or value i n the virtual filesystem and data present on the
host device registry, information in the virtual registry takes precedence.
Keys may be virtualized in Full or Merge mode:
•Full mode: Only values in the virtual registry will be visible to the applic a tion- even if a
corresponding key exists on the host device- and writes are redirected to the user registry
area.
•Merge mode: Values present in a virtual key will be merged with values in the
corresponding key on t he host machine, if such a key exists. Writes to host keys are
passed through to the hos t registry and writes to virtual keys are redirected to the user
registry area.
Tip: To apply the selected isolation mode to all subkeys, right-click on the key, choos e Isolation,
click on the checkbox for Apply to subkeys, and click OK.
3.12.2 Importing Registry Hive Files
ZENworks Application Virtualization can import registry hive (.reg) files into the virtual r egistry.
To import a .reg file, click the Import button in the Registry panel and select the registry hive file
to be imported.
29 Novell ZENworks Application Virtualization
3.13 EMBEDDING A DATABAS E ENGINE
ZENworks Application Virtualization allows SQL Server 2005 Express to be embedded directly
into the executable file. This allows executables to run a SQL Server user-instance for a virt ual
.mdf database file.
3.13.1 Selecting a database e ngine to embed
To select SQL Server 2005 Express:
• Click on the Runtimes butto n on the ribbon bar.
• Click on the dropdown next to the Embed SQL Server Express option. T his disp lays a
list of supported SQL Server Express engines.
•Select an engine which is appropriate for your database.
Selecting a database engine displays the database configuration dialog. Selecting the Do not
embed SQL Server Express option disables this feature.
3.13.2 Configuring your application to use an embedded database
The code displayed on the database configuration dialog provides an example of how to create a
connection string for connecting to the user-instance database that loads an .mdf file from the
virtual filesystem.
The virtualized SQL Server 2005 Express default instance name is stored in a special environment
variable named %SQLSPOON%. A unique instance of this name is created at build time and is
not user-configurable.
To embed a database file:
• Verify that the desired .mdf database file has been added to the virtual filesystem.
• Choose the .mdf database file to attach using the AttachDBFilename dropdown. This
path is stored in the %AttachDBFilename% environment variable.
To manually modify this selectio n at a la te r time, click the E nvironment Variables button on the
Process Configuration tab of the Settings pane.
Note: The .NET 2.0 Framework is automatically included when SQL Server Express 2005 engine
is selected. SQL Server 2005 Express requires this component to be installed. If this component is
removed, the application will onl y run on machines that have the .NET Framework 2.0 installed.
30 Novell ZENworks Application Virtualization
3.14 CREATING AND USIN G SHARE D VIRT UAL COMPONENTS
In some scenarios, multiple virtual applications may share a common set of virtual machine
configuration options. For example, multiple applications often shar e a c ommon set of
component s or runtime engines; or system administrators may want to share a c ommon set of
configuration options (browser bookmarks, application settings, etc.) across a department or
enterprise. ZENworks Application Virtualiza tion makes it easy to create, share, and consume
virtual machine settings acros s multiple Novell vir tual applications using Novell SVM-format
virtual components.
To create a shared virtual component:
•Configure the virtual application settings exactly as in the case of a standard virtual
application (i.e. using snapshotting, manual configuration, etc.).
• On the Settings pane, select Component from the Project type dropdown.
• Press the Build button.
In Component mode, the build process results in creation of an SVM file instead of an executable
file. An SVM contains the virt ual application settings and data pa yload. SVM files are similar to
virtual executable outputs, exce pt that SVM files do not contain the Novell virtual machine
runtime engine. Therefore, an SVM can only be used when combined as part of another virtual
application.
To use an existing shared virtual component:
• Click on the Components butt on to navigate t o the project compone nts pane.
• If the component does not already appear in the components table, click Import
Components...
•Select the SVM file you wish to load into your project, and click OK. The SVM is then
loaded into your project and the layer metadata is displayed in the Components list.
•Select the checkbox next to the desired component.
Project virtualization settings take precedence over virtualization settings in any loaded shared
components.
To remove a shared virtual component from the project, select the component and click the
Remove Component button.
31 Novell ZENworks Application Virtualization
3.15 SANDBOX MERGE
Sandbox merge allows sandbox cont ent and sett ings genera ted during virtual appli cation execution
to be applied to a ZENworks Applicatio n Virtualization configuration. S and b o x mer ge is a n
alternative to manual registry or filesystem configuration, and is p a rticularly useful for applying
additional customizations to e xisting virtual application confi gurations or configurations generated
from a virtual application templa te .
To merge an existing sandbox into the active con figuration:
Click the Sandbox Merg e button in the Tools section of the Virtual Application toolbar.
• Enter the path of the sandbox to be merged into the current configuration.
• Click OK.
For example, to customize the home page of the Firefox virtual application template:
•Use the Configuration Wizard to create a Firefox virtual application. (The wizard
allows customization of the home page, but we will later use the sandbox merge feature
to override the setting specified in the wizard.)
• Press Build and Run to launch the virtualized Firefox application.
• Using the Firefox interface, specify a new browser home page.
• Exit the Firefox virtual applica tion.
• Press Sandbox Merge to display the s andbox merge dialog. The sandbox path will be
pre-populated with the location of the Firefox virtua l sandbox.
•Click OK.
The virtual application settings are updated with the configuratio n changes made during Firefox
execution, i ncluding the updated browser home page.
32 Novell ZENworks Application Virtualization
Loading...
+ 75 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.