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).
2
Overview
Novell ZENworks Application Virtualization
4
Thank you for using Novell ZENworks Application Virtualization!
This guide explains how to use Novell ZENworks Application Virtualization to create your own virtual applications
2.1
Overview
Novell ZENworks Application Virtualization
5
This product will allow you to convert your Windows, .NET, Java, Flash, Shockwave, or other Windowscompatible application into a self-contained virtual application which runs instantly on end-user devices. Unlike
traditional deployment methods, virtual applications do not require separate setup steps for external components
and runtimes, reboots, or administrative privileges, and are isolated from other system applications, preventing
DLL conflicts and other deployment nightmares.
and begin enjoying the benefits of this superior next-generation deployment technology.
A
virtual application is a virtual machine image pre-configured with all of the files, registry data, settings,
2.2
What is a virtual application?
Novell ZENworks Application Virtualization
6
components, runtimes, and other dependencies required for a specific application to execute immediately. Virtual
applications allow application 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 virtual application combining the application with the required runtime engine. Using this virtual
application, an end-user can run the application immediately, even if the user has not installed the required
runtime engine, or has an incompatible runtime engine installed. Note that this has both improved the user
experience and reduced test and support complexity associated with deploying the application.
Furthermore, because virtual applications are isolated execution environments, it is possible to concurrently
execute multiple applications which would otherwise interfere with one another. For example, applications which
overwrite system DLLs or require different runtime engine versions can all run simultaneously on a single host
device. As an additional advantage, virtual applications can provide access to internal virtualized copies of
privileged system resources, allowing unprivileged users to directly execute many applications without security
exceptions or irritating Vista UAC prompts.
Unlike other virtualization systems, ZENworks virtual application technology:
Does not require any "player" software or separate installation: ZENworks virtual applications are executable
files that run immediately on the end-user machine, just like a native executable.
Do not incur significant processing or filesystem overhead: ZENworks application virtualization technology
allows applications to run with essentially the same performance characteristics as when executed natively.
Does not require any operating system to be installed onto the virtual application: ZENworks virtual
applications provide all required virtualized OS functionality within the internal virtual environment.
Use your new ZENworks virtual application to:
2.3
ZENworks virtual application usage scenarios
Novell ZENworks Application Virtualization
7
Deploy your application in a single executable that runs immediately: Improve the user download
and startup experience by packaging all application files, registry settings, runtimes, and components into a
single executable that runs immediately.
Run Java and .NET without separate runtime installations: Your Java and/or .NET-based
application runs immediately, just like a native executable, with no separate installation steps or runtime
versioning conflicts. Execute multiple runtime versions concurrently with no conflicts.
Improve desktop security: Execute your applications without granting administrative permissions to
end-users. Stabilize desktop images by deploying applications in sandboxed ZENworks virtual applications.
content viewers such as Acrobat, Flash, and Shockwave, directly into your application.
Eliminate Vista UAC prompts and compatibility: Deploying in a ZENworks virtual
application eliminates requirements for 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, ZENworks virtual application technology allows non-compliant applications to function properly in
Terminal Server and Citrix environments.
Deploy instantly on USB drives: Improve mobile worker productivity by placing your ZENworks virtual
application 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: At last, no more "DLL hell", "policy hell", versioning
and dependency conflicts, etc. Reduce test complexity and eliminate support requests associated with
dependency installation and inter-application resource conflicts.
No. Unlike some other virtualization solutions, application virtualization takes place entire in user-mode. No
2.4
Do ZENworks virtual applications require any device drivers?
Novell ZENworks Application Virtualization
8
device drivers are installed or required.
Unlike hardware virtualization systems such as Microsoft Virtual PC and VMware, the application virtualization
Advantages of application virtualization over hardware virtualization include:
not necessary to purchase separate operating system licenses to use a ZENworks virtual application. hardware
mode software may require
You should carefully evaluate the advantages and disadvantages of different virtualization approaches before
2.5
How is application virtualization different from hardware
virtualization?
Novell ZENworks Application Virtualization
9
system works at the application level and virtualizes only those operating system features required for application
execution. This allows virtualized applications to operate extremely efficiently, with essentially the same
performance characteristics as native executables.
Extremely high performance: ZENworks virtual applications execute at essentially the same speed as applications
running natively against the host hardware, with only a small additional memory footprint. On the other hand,
applications running within hardware-virtualized environments experience significant slowdowns and impose a
large memory footprint because the virtual machine includes and virtualizes an entire host operating system.
Dramatically reduced application size: ZENworks virtual applications only require a disk footprint
proportional to the size of the virtualized application, data, and included components. As a result, ZENworks
virtual applications are typically small enough to be conveniently and quickly downloaded by endusers. Because hardware virtualization requires inclusion of an entire host operating system image, including
many basic subsystems which will already present on the end-user device, hardware virtualization typically
requires gigabytes of storage per virtual machine.
Ability to run dozens of virtualized applications: Because of its low-overhead characteristics, it is easily
possible to run dozens of concurrent ZENworks virtual environments per processor. Conversely, due to the
high overhead of hardware virtualization, it is generally possible only to run a very small number of hardwarevirtualized environments per processor.
Reduced licensing costs: Because ZENworks virtual applications do not contain a host operating system, it is
virtualization systems require a host operating system in order function, possibly imposing additional
licensing costs and restrictions.
However, hardware virtualization is appropriate in certain specialized scenarios:
Non-Windows operating systems: ZENworks virtual applications execute only on the Windows operating
system. Hardware virtualization can execute any operating system compatible with the underlying virtualized
hardware, such as Linux.
Kernel mode virtualization: The ZENworks application virtualization engine only virtualizes user-mode
operating system features, whereas hardware virtualization systems emulate the entire OS stack, including
kernel mode components. Applications requiring device drivers or other non-usera hardware-virtualized environment to function properly.
deciding on a technology to adopt for your deployment scenario.
ZENworks Application Virtualization supports the following platforms for virtual application build, snapshotting,
based platforms.
2.6
What platforms are supported?
Novell ZENworks Application Virtualization
10
and execution:
Windows XP Professional
Windows Embedded XP
Windows 2000 Professional
Windows 2000 Server
Windows Server 2003 Standard and Enterprise editions
Windows Vista Business, Ultimate, and Enterprise editions
Windows Server 2008
ZENworks Application Virtualization supports these operating systems running within VMware 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-bit executables, which can be run under 32-bit mode on x64-
application virtualization is related to application streaming systems such as Microsoft's SoftGrid in that
2.7
How is application virtualization different from application
streaming?
Novell ZENworks Application Virtualization
11
virtualization takes place at the application level. However, unlike application streaming systems, application
virtualization:
Does not require any specialized streaming servers: Streaming systems use specialized streaming servers to
deliver application blocks to clients. ZENworks virtual applications are designed to stream to clients using
standard SMB-based file shares, allowing them to be hosted on any Windows host, DFS share, or Linux
Samba server.
Does not require any client installation or device drivers: Streaming systems require that specialized client
software be installed on each end-user device before clients can access hosted applications. Some streaming
systems further require installation of client device drivers before use. Because the ZENworks application
virtualization engine kernel is embedded and implemented entirely in user mode, ZENworks virtual
applications run immediately, with no client installation or device drivers.
Works both offline and online: Many streaming systems require that clients be connected to the streaming
server to access applications. Because ZENworks virtual applications are standalone executables, virtual
applications can be copied to laptops, USB keys, and other mobile devices for execution both on and off the
network.
Does not require any additional server systems: Most streaming solutions require that Active Directory or
other infrastructure services be deployed as a prerequisite to application deployment. Because ZENworks
virtual applications are standalone executables, no separate server systems need be purchased or deployed.
Note that ZENworks virtual applications can optionally be configured to take advantage of Active Directory
and SMS infrastructure, if these are present.
application virtualization can be used in concert with application streaming systems: Virtualized applications can
themselves be streamed, combining the network transport optimizations of the streaming solution with the
isolation, compatibility, and offline execution capabilities of application virtualization. This approach also allows
enterprises with a heterogeneous IT infrastructure to enjoy the advantages of application virtualization, even in
their non-Active Directory environments.
ZENworks Application Virtualization and the application virtualization engine supports most major Windows
Virtualization's user
2.8
What applications can be virtualized using ZENworks
Application Virtualization?
Novell ZENworks Application Virtualization
12
desktop applications. In addition, the ZENworks Application Virtualization Compatibility Lab routinely tests and
validates popular applications for deployment using ZENworks Application Virtualization.
However, certain applications, by their nature, are unsuitable for virtualization using ZENworks Application
-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
detection applications.
ZENworks Application Virtualization applications are compatible with most major anti-virus, runtime, and
security packages currently available.
The ZENworks Application Virtualization authoring environment can be run on any of the supported client
A minimum screen resolution of 1024x768 is required to use the ZENworks Application Virtualization graphical
2.9
System requirements
Novell ZENworks Application Virtualization
13
platforms.
The ZENworks Application Virtualization authoring environment requires a minimum of 512MB of memory. 1GB
of memory is recommended for optimal performance. More memory may be required to process unusually large
virtual application projects.
user interface.
3
Getting Started
Novell ZENworks Application Virtualization
14
This section describes the system requirements for installing and running Novell ZENworks Application
Virtualization, gives an overview of the ZENworks Application Virtualization user interface, and walks you through
3.1
Getting Started
Novell ZENworks Application Virtualization
15
the basic steps of creating a virtual application.
Novell ZENworks Application Virtualization requires the Windows XP, 2000 or higher operating system.
3.2
System requirements
Novell ZENworks Application Virtualization
16
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.
The ZENworks Application Virtualization control panel allows you to configure your virtual application filesystem
Important:
3.3
Control panel overview
Novell ZENworks Application Virtualization
17
and registry, embed external runtimes and components, take snapshots of application, and create virtual
application executables. The primary interface consists of a ribbon bar and several panes grouped by functional
area.
The ribbon bar provides access to common ZENworks Application Virtualization features:
The start menu button located in the circle on the top left of the window, allows virtual application
configurations to be opened, saved, and closed.
The help bar provides access to the ZENworks Application Virtualization documentation and version
information.
The Virtual Application ribbon provides access to the snapshot and build features, as well as output
configuration options such as the startup file, output directory, and diagnostic-mode selection.
The Runtimes ribbon provides a selection of auto-configurable runtime engines which can be embedded
into your application with a single click. These include .NET Framework, Java, Flash, and Shockwave
runtimes.
The main panel consists of three functional groups, which are accessed by pressing an appropriate buttons along
the left of the interface:
The Start panel displays the latest ZENworks Application Virtualization news, including updates, available
licenses, and usage suggestions.
The Filesystem panel displays the application virtual filesystem, and allows adding and removing virtual
files and directories.
The Registry panel displays the application virtual registry, and allows adding and removing virtual registry
keys and data values.
The Settings panel allows configuration of virtual application metadata, startup image, and process
configuration options.
The Components panel allows layering of external virtual application components, such as toolbars and
optional features.
The Setup panel allows configuration of MSI setup package and shell integration options.
The Licensing panel allows configuration of virtual application licensing modes and options.
You are responsible for assuring compliance with licensing for any third-party redistributable
components included using virtualization.
ZENworks Application Virtualization offers three ways to create and configure virtualized applications. The best
This method is most often used by developers virtualizing internally
3.4
Creating virtual applications
Novell ZENworks Application Virtualization
18
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 Application Virtualization. (This method is not available in
ZENworks Application Virtualization ISV Edition.)
Snapshot an application installation: Snapshotting captures system state before and after an
application is installed and automatically configures virtual application settings based on observed system
changes. This method is ideal for virtualizing off-the-shelf applications.
Manually configure an application:
developed applications. Manual configuration requires a high degree of technical knowledge but allows
extremely fine-grained control over virtual application settings.
Note that all methods allow additional configuration and customization to be performed once the initial virtual
application configuration has been constructed.
(This section does not apply to ZENworks Application Virtualization ISV Edition.)
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
3.5
Creating your first virtual application
Novell ZENworks Application Virtualization
19
ZENworks Application Virtualization includes automated virtual application configuration wizards for certain
popular software applications. It is strongly recommended that first-time users begin by building one of
these auto-configurable virtual applications using the ZENworks Application Virtualization Configuration Wizard.
To build an auto-configured application:
1. 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.
2. Press the button labeled Build a virtual application from a template.
3. Select an application to virtualize from the Application dropdown. Some applications may require
download of additional configuration information or source application media.
4. Follow the wizard steps to construct the virtual application.
additional customization to be performed.
This section provides a walkthrough of manual configuration for a simple virtual application based on the
folder and
11.
3.6
Manually configuring a simple virtual application
Novell ZENworks Application Virtualization
20
Windows Notepad application. In general, manual configuration should only be performed by experienced
software developers virtualizing internally developed software applications.
1. Click on the Filesystem button.
2. Click on the Application Directory folder.
3. Click on Add Files....
4. Navigate to to the System32 folder under your Windows installation directory and double-click on
notepad.exe. This adds the Windows Notepad executable to the virtual application.
5. (Windows Vista only) Click on Add Folder and set the new folder name to en-us. Navigate into the en-us
folder and click Add Files.... Navigate to the System32\en-us folder under your Windows installation
directory and double-click on notepad.exe.mui. This file is required by the version of Notepad which
shipped with Windows Vista.
6. Using Notepad or other text editor (on your machine, not the virtual application), create a file called hello.txt
containing the text "Hello world" and save it to the Desktop folder.
7. Click on Add Files... again, navigate to your Desktop folder and select the hello.txt file that you just
created. The display on the right should now show both notepad.exe and hello.txt.
8. If it is not already visible, click on the Virtual Application tab on the ribbon bar to display the virtual
application settings.
9. In the Startup File dropdown, select notepad.exe. The startup file indicates which executable or file will
be executed when the virtual application is started by the user.
Click on the Browse... button next to the Output Directory textbox. Navigate to your Desktop
press OK.
Press the Build button. ZENworks Application Virtualization will now display a status dialog while it builds
your virtual application.
To use your new Notepad virtual application, navigate to your desktop in a shell window and double-click on
Notepad.exe. The Notepad application starts.
But how do we know we are inside a virtual application? In the shell, delete the hello.txt file from the desktop.
Now, inside the Notepad window, click File / Open..., and navigate to the Desktop folder. Notice that the
hello.txt file is still present! This is because the Notepad virtual application is using the virtual filesystem, which
includes the hello.txt file that we added in step 6. You can open and view hello.txt exactly as if it were a real file
in the physical filesystem.
Congratulations on building your first virtual application!
Many components and runtime systems consist of large, complex sets of filesystem entries and registry settings.
Important:
Important:
based on Java runtime, press the
dropdown; if
3.7
Adding runtimes and components
Novell ZENworks Application Virtualization
21
To simplify configuration of the most common components, ZENworks Application Virtualization contains a
collection of pre-configured component settings which can be added to your virtual application with a single click.
To add a runtime or component, click on the Runtimes tab on the ribbon bar. Then, click on the appropriate
runtime or component to select it for inclusion. Selected components are indicated with a highlighted button. To
remove a component, click on the button again. 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 .NET Framework installed.
Depending on the size of the component, selecting a component for inclusion can significantly
increase the size of the resulting executable. Therefore, you should only select components which are required for
proper execution of your application.
You are responsible for assuring compliance with licensing for any third-party redistributable
components included in your virtualized application.
Configuring the Java runtime
ZENworks Application Virtualization provides specialized support for the Java runtime. If your application is
Sun Java Runtime button on the Runtimes ribbon bar. This displays the
Java configuration 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
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.
Once you have configured your virtual application, you will likely want to save the configuration for future use or
Important:
3.8
Loading and saving configurations
Novell ZENworks Application Virtualization
22
modification.
To save a configuration, 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 files
use the extension .xappl.
Configuration files do not 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 application will not build successfully.
ZENworks Application Virtualization automatically stores source file locations as paths relative to the location of
the saved .xappl file.
4
Configuring Virtual Applications
Novell ZENworks Application Virtualization
23
Virtualization allows application deployment to be dramatically simplified by allowing files, registry settings,
components, and other application dependencies to be directly embedded into the application executable. Use of
4.1
Configuring virtual applications
Novell ZENworks Application Virtualization
24
application virtualization reduces setup complexity, prevents DLL collisions, and allows applications to simulate
the use of privileged disk and registry resources without requiring administrative privileges on the host machine.
This section describes snapshotting and configuration of virtual applications for use in the ZENworks virtual
machine environment.
Most commercial applications require complex combinations of filesystem and registry entries in order to function
properly. In order to facilitate virtualization of these applications, ZENworks Application Virtualization can
(Optional) We recommend you save the "before" snapshot before continuing. This allows you to skip this step
Application Virtualization allows you to save the "before" snapshot image so that the snapshot does not need to be
Application
4.2
Snapshotting applications
Novell ZENworks Application Virtualization
25
snapshot application installations and automatically configure itself based on modifications made to the host
system during application setup.
Snapshotting
Snapshotting uses "before and after" images of the host machine to determine the virtual application
configuration:
1. Prior to installing the application, a "before" snapshot is taken. This captures the state of the host device
without the target application installed.
2. After installing the application, an "after" snapshot is taken. This captures all changes to the host device
during application installation. ZENworks Application Virtualization then computes the changes, or delta,
between the before and after snapshots, and inserts these changes into the configuration.
To use the snapshot feature:
1. Prepare the host device by either removing the target application and all dependencies, or copying ZENworks
Application Virtualization onto a "clean" machine.
2. 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.
3.
when snapshotting subsequent 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 automatically saves the last "before" snapshot that was captured, this
snapshot is reset once the Capture and Diff process is complete.
4. Install your application along with other files or settings you wish to be included in the virtual application. If
the application setup requests a reboot, be sure to save the "before" snapshot and then proceed with
the reboot.
5. On the Virtual Application tab on the ribbon bar, click Capture and Diff. This captures the "after"
snapshot, computes the delta between the two snapshots, and populates the virtual application with the delta
entries.
6. (Optional) Review the filesystem and registry entries, and remove any files or settings which are not required
for proper execution of your virtual application. Removing unused entries reduces virtual application size.
However, accidental removal of a required resource may cause your virtual application to no longer function
properly.
Saving snapshots
In many cases, the desired "before" snapshot remains fixed while many "after" snapshots are taken. ZENworks
re-captured each time. Because snapshotting may take 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
ribbon bar and select Save Snapshot. 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.
Best practices for snapshotting
Novell ZENworks Application Virtualization
26
The following practices are recommended for optimal use of the snapshotting feature:
Perform snapshotting on a clean machine: Snapshotting on a clean machine assures that all dependencies
will be installed by the application setup. Installing on a machine with existing components may cause
dependencies to be inadvertently included in the "before" snapshot and therefore excluded from the final
virtual application output.
Save your "before" snapshot: Saving the snapshot assures that you need only take the "before" snapshot a
single time.
Use snapshotting in conjunction with whole-machine virtualization: Configuring a clean machine using a
whole-machine virtualization tool such as Microsoft Virtual PC and saving a "before" snapshot based on this
image allows many distinct virtual applications to be snapshotted in rapid succession by reverting the wholemachine virtual state.
Cleanup your image: While ZENworks Application Virtualization automatically excludes many unnecessary
files and registry keys, snapshotting often picks up many unnecessary items. If you have adequate technical
understanding to do so, you may significantly reduce virtual application size by manually removing
unnecessary items from the snapshot delta.
Snapshot on the earliest operating system variant you expect to target: Most applications can be successfully
configured by snapshotting on the earliest (least common denominator) base operating system to be
targetted. A small number of applications may require multi-platform snapshotting for successful
deployment across all operating system variants.
Loading...
+ 57 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.