Novell ZENworks Application Virtualization 8.0.1 User Manual

Novell®
www.novell.com
User Guide
ZENworks Application Virtualization
novdocx (en) 16 April 2010
AUTHORIZED DOCUMENTATION
8.0.1
ZENworks Application Virtualization User Guide
Legal Notices
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.
novdocx (en) 16 April 2010
Copyright © 2010 Novell, Inc. All rights reserved. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of the publisher.
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
4 ZENworks 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.1 WHAT 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 APPLICATION VIRTUALIZATION 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.
Eliminate third-party setup dependencies: Integrate third-party components, COM/VB
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 non­user-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 32­bit 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 diagnostic­mode 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 Advanced tab provides advanced ZENworks Application Virtualization functions
such as Platform Merge, and allows you to create license certificates and application configurations
Functions in the main panel are accessed by clicking the appropriate buttons along the left side of the interface:
The Start panel disp lays the latest ZENworks Application Virtualization news, including
updates, available licenses, and usage suggestions.
The Filesystem panel displays the applic a tion virtual filesystem, and allows adding and
removing virtual files and direc tories.
The Registry panel displays the application virtual registry, and allows adding and
removing virtual regis try keys and data value s .
The Settings panel allows confi guration of virtual application metadata, startup image,
and process configuration options.
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.
25 Novell ZENworks Application Virtualization
3.10 SPECIFYING MULTIPLE STARTUP FILES (JUKEBOXING)
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 Virtualization­processed 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 Virtualization­processed 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