ZENworks Application Virtualization for NGN Dummies - Presentation Transcript
ZENworks Application Virtualization for NGN ‘Dummies’ Roel van Bueren ROVABU NetWorks http://www.rovabunetworks.nl
Planning
16.00 – 16.15 – Introduction
16.15 – 17.00 – ZAV Theory
17.00 – 17.15 – ZAV installation
17.15 – 18.00 – ZAV Building apps part one
18.00 – 18.30 – Pizza
18.30 – 19.30 – ZAV Building apps part two
19.30 – 20.00 – Roundup
Introduction
Who are you?
What is your experience with Software Packaging and Application Virtualization?
Which ZENworks version do you use?
Which Packaging Software do you use?
What’s your favorite type of pizza?
What is Application Virtualization?
“ Application virtualization enables the deployment of software without modifying the local operating system or file system.
It allows software to be delivered and updated in an isolated environment ensuring the integrity of the operating system and all applications.
Application conflicts, and the need for regression testing, are significantly reduced.
A single application can be bundled and deployed to multiple operating system versions.
Applications are easier to provision, deploy, upgrade, and rollback. (VMware’s definition).
U3
U3 for U2
Why Application Virtualization?
Traditional application deployment is slow, insecure, and unreliable.
Installation of the typical desktop application requires a long setup process — file copies, component registrations, runtime installations, and installation of third-party dependencies — followed by additional user configuration, preference setup, and customization.
Most applications do not function properly on secured, locked-down desktops, forcing administrators to compromise network security for application compatibility.
Why Application Virtualization?
Interactions between shared components and different application versions frequently introduce errors when applications are installed, uninstalled, or upgraded.
The result is an inflexible IT infrastructure and extensive costs associated with application administration, maintenance, end-user support, regression testing, security breaches, and application failures.
Application Virtualisation versus Application Isolation
The ZAV virtual machine allows the application environment, including filesystem and registry subsystems, to be isolated from the host device, preventing virtual applications from interfering with one another or with applications installed on the host device.
Multiple versions of applications, runtimes, and components can be executed concurrently without errors.
ZAV supports both merge and override isolation semantics, optionally allowing virtual applications to interact with host resources when necessary.
What is ZENworks Application Virtualization?
ZAV is a next-generation virtualization technology that allows applications to be deployed in lightweight, pre-configured, single-executable files that execute instantly on any Windows desktop.
Unlike hardware virtualization solutions such as VMware and Virtual PC, which emulate the underlying hardware and therefore require an entire copy of the host operating system, ZAV technology emulates operating system features required for application execution.
What is ZENworks Application Virtualization?
As a result, ZAV-virtualized applications have essentially the same performance characteristics as native executables, allowing for easy deployment on corporate Intranets, the web, USB keys, or existing infrastructure such as Microsoft SMS, LANDesk, Altiris, ZENWorks, Unicenter, or AppStream.
ZAV technology allows IT administrators, system integrators, and software publishers to dramatically reduce the costs and complexity associated with development, setup, configuration, deployment, and maintenance of software applications, and to deploy legacy applications on Windows Vista.
ZAV at a glance
ZAV deploys applications as standalone, pre-configured virtual EXEs or XLayers that require no setup, configuration, client, or device drivers, are isolated from external DLL and dependency conflicts, and run properly on locked-down desktops.
ZAV's unique user-mode virtualization technology offers unprecedented application performance, minimal storage overhead, and avoids the need for separate operating system licenses.
ZAV can be used to deploy applications on intranets, the web, through legacy MSI setup package technology, or by using existing management infrastructures such as Novell ZENworks Configuration Management
What applications can be virtualized?
Virtual Application Studio and the Xenocode virtualization engine supports most major Windows desktop applications. In addition, the Xenocode Compatibility Lab routinely tests and validates popular applications for deployment using Xenocode / ZAV.
However, certain applications, by their nature, are unsuitable for virtualization using Xenocode'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 detection applications.
ZAV 7.0 what’s new
One-click import of MSI setups, ThinApp configurations, and Novell AXT packages: Existing MSI setup packages and other configuration formats can be virtualized with a single click, eliminating the need for time-consuming recapture.
Latest Xenocode virtualization engine: An enhanced virtualization engine includes numerous performance and reliability improvements, new compression and process isolation controls, and sandbox auto-reset capabilities.
ZAV 7.0 what’s new
Built-in support for the latest .NET runtimes and Windows components: The 2009 edition of Virtual Application Studio includes one-click configuration of the latest popular components, including the .NET Framework 3.5 SP1, and .NET 3.5 Client Profile.
ZCM Deployment
Push virtual application to ZCM from within ZAV Studio
The ZAV Approach
ZAV is a revolutionary approach to application deployment that dramatically reduces deployment and maintenance costs associated with traditional setup technologies.
A virtual application is a compact, self-contained, virtual machine pre-configured with all of the files, registry data, settings, components, runtimes, and other dependencies associated with a specific application. Xenocode virtual applications run with zero setup, zero configuration, and zero impact on the host device — just click and run right now.
The ZAV Approach
ZAV virtual applications are isolated from one another and from the host device, allowing enterprise desktops to be locked down and eliminating conflicts associated with shared components and application upgrades. Because virtual applications do not modify the base operating system state, broken devices can be swapped out with no impact on the end-user.
And, unlike whole-machine virtualization technology, ZAV technology allows virtualized applications to execute at virtually the same speed as native applications, with minimal disk and memory overhead.
The ZAV OS
The core of ZAV technology is the ZAV Virtual Operating System.
The ZAV Virtual OS kernel is a lightweight implementation of core Windows operating system APIs, including the filesystem, registry, process, and threading subsystems, completely implemented within the Windows user-mode space.
The ZAV Virtual OS kernel is embedded within each virtualized application executable, allowing virtual applications to be executed without any separate client install, device drivers, or player software.
The ZAV OS
Applications executing within the ZAV Virtual OS environment interact with a virtualized filesystem, registry, and process environment, rather than directly with the host device operating system.
The virtualization engine handles requests within the virtualized environment internally or, when appropriate, routes requests to the host device filesystem and registry, possibly redirecting or overriding requests as determined by the virtual application configuration:
The ZAV OS
The ZAV OS
The ZAV engine supports both merge and override virtualization semantics, down to individual file and folder granularity. This allows virtual operating system contents to be either entirely isolated from or merged with corresponding locations on the host device.
The ZAV engine dynamically remaps shell folder locations such as My Documents so that proper application behavior is preserved across different operating system versions and deployment structures.
The ZAV Virtual OS kernel occupies roughly 400K of disk space uncompressed, with negligible runtime performance overhead.
And, because ZAV transparently compresses all virtual environment data, virtual applications typically consume only half as much disk space as the same application installed directly on the host device.
Comprehensive operating system feature support
ZAV virtual applications support customization of shell metadata in executables, including customized icons, publisher descriptions, and versions. The Xenocode Virtual OS kernel dynamically remaps shell folders (for instance, the My Documents and Application Data folders) to the appropriate location on each host device.
Similarly, registry key values containing explicit path names or prefixes are dynamically remapped to the appropriate values for the executing host device.
ZAV also fully supports Windows side-by-side (SxS) deployment manifests, should you have applications that use this isolation technology. As an added benefit, virtual applications containing SxS assemblies execute properly on Windows 2000, even though SxS was not implemented in this version of the Windows operating system.
Supported Platforms
The ZAV Virtual Operating System kernel supports the Windows XP, Windows 2000, 2003, 2008 and later, Windows Server, and Windows Vista operating systems.
ZAV Studio creates 32-bit executables, which can be run under 32-bit mode on x64 platforms.
Supported Platforms
ZAV supports common runtime environments such as the .NET Framework 1.1, 2.0, 3.0, and 3.5, Java 5.0 and 6.0, Flash, and Shockwave.
To simplify runtime and component setup, the ZAV Studio and Postbuild authoring environments provide one-click configuration of popular runtimes and components.
Application Compatibility Chart
Setting up your ZAV environment
One ‘ZAV-STUDIO’ VM to build virtual apps
Uses 10 GB disk space
512 MB memory
Snapshots
Vanilla XP US SP3 (incl. post SP3 hotfixes, IE7, WMP11 and all .NET Frameworks installed)
ZAV Studio installed (incl. ZAV 7.0 build 140 installed, TemplateCache and PackageCache)
Setting up your ZAV environment
One ‘ZAV-TEST’ VM to test virtual apps
Uses 8 GB disk space
256 MB memory
Snapshots
Vanilla XP SP3
Setting up your ZAV environment
Shared folders between hosts and VM’s
Z: is mapped inside both VM’s to the C:AV directory on the host
VMware Tools installed
Setting up your ZAV environment
‘ Build’ VM
Clean install of Windows XP SP3 or Windows Vista with UAC disabled
Windows Update turned off
MSN Explorer, Messenger and OE removed
‘ System Restore’ turned off
No virusscanner
Use a static IP address (no DHCP)
Setting up your ZAV environment
‘ Build’ VM
‘ Windows Firewall’ turned off
Windows Defender not installed
Services responsible for ‘Disk monitoring’ and caching turned off
Delete temporary files and directories
Delete logfiles
Setting up your ZAV environment
‘ Build’ VM
Disable Power Management, Disable Hibernate and/or Standby
HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain FavIntelliMenus = no
Setting up your ZAV environment
Tune Virtual Memory if needed
ZAV 7.0 Installation
Run ‘setup.msi’
Browse Start Menu for ‘Novell ZENworks Application Virtualization 7’
Copy ‘Novell ZENworks Application Virtualization 7’ hyperlink to desktop
Create the following directories on the host: C:AV C:AVOutput C:AVProjects
Building Virtual Apps
Building from template
Snapshot
Manual
Convert
Building Virtual Apps from Template
7-Zip
Adobe Reader 9
Gimp 2
Google Talk Beta
Internet Explorer 6, Internet Explorer 7
Office 2003, Office 2007
Project 2003, Project 2007
Visio 2003, Visio 2007
Firefox 2, Firefox 3
GroupWise Client 7.0.3, GroupWise Client 8.0
GroupWise Messenger 2.0.4
Novell OpenOffice 2.4.1, Novell OpenOffice 3
OpenOffice 2
Building Virtual Apps from Template
Building Virtual Apps
Building from template
Building Virtual Apps
Building from template
Building Virtual Apps by using Snapshot
Capture ‘Before’
Install the application
Configure the application (optional)
Capture ‘After’
Building Virtual Apps by using Snapshot
Building Virtual Apps by using Snapshot
Building Virtual Apps by using Snapshot
Building Virtual Apps by using Snapshot
Building Virtual Apps by using Snapshot
Building Virtual Apps by using Snapshot
Building Virtual Apps by using Snapshot
Building Virtual Apps by using Snapshot
ProgID
ProgID (short for PROGrammatic IDentifier) is a COM term, which is basically a string like "msxml2.domdocument" to represent an underlying CLSID which is something like {F9043C85-F6F2-101A-A3C9-08002B2F49FB}.
Building Virtual Apps by using Snapshot
Building Virtual Apps by using Snapshot
Result is a Snapshot.xappl project file
Building Virtual Apps Manually
Building Virtual Apps by Converting
ZENworks Packages (AXT)
MSI Packages (MSI)
Thinstall configuration
ZAV Studio
Configuration Wizard
Sandbox / Sandbox merge
Documentation
Virtual File System
Virtual Registry
Setup
ZENworks (ZCM integration)
ZAV and extensions
.Xappl
Project file
Belong to the ‘Files’ directory in the same directory (source=".Files)
ZAV and extensions
.Xlayer
AdobeReader_x86_8.1.2_3.xlayer
AdobeReader_x86_9.0_1.xlayer
Flash_x86_9.0.115.0_2.xlayer
Java_x86_1.5.0.140_2.xlayer
Java_x86_1.6.0.30_2.xlayer
MSNet_x86_1.1.4322_2.xlayer
MSNet_x86_2.0.50727_2.xlayer
MSNet_x86_3.0_3.xlayer
MSNet_x86_3.5SP1_2.xlayer
Shockwave_x86_10.1.4_2.xlayer
ZAV and extensions
.Xsnapshot
ZAV Snapshot format
Startup File
One File
For applications which have one executable
Startup File = soffice.exe
Multiple Files
For applications which have more than one executable (OpenOffice, Microsoft Office)
Command line (trigger)
OpenOffice.exe scalc
OpenOffice.exe swriter
OpenOffice.exe scalc
Startup File
Interactions with OS
ZAV vs. Virtual Application Studio
Sandbox
Sandbox
Xregistry.bin
Sandbox
Variables
Sandbox Location Variables
Root Folder Variables
Sandbox Location Variables
@TITLE@ Product title
@PUBLISHER@ Product publisher
@VERSION@ Full version string, in dotted quad format
@WEBSITE@ Publisher Web site
@BUILDTIME@ Virtual application build time, in a format similar to 2008.02.01 T08.00
Root Folder Variables
@APPDIR@ Folder where the executing virtual application resides
@WINDIR@ The operating system install location root
@SYSDRIVE@ The root folder of the drive containing the operating system installation
@PROGRAMFILES@ The Program Files folder
@PROGRAM FILESCOM MON@ The Program FilesCommon Files folder
@SYSTEM@ The Windows System32 folder
@APPDATALOCAL@ The folder that serves as a common repository for application-specific data that is used by the current, non-roaming user
@APPDATA@ The folder that serves as a common repository for application-specific data for the current roaming user
@STARTUP@ The folder containing the current user’s startup items
@PROGRAMS@ The folder that contains the user’s program groups
@STARTMENU@ The folder containing the user’s Start Menu contents
@DESKTOP@ The current user’s Desktop folder
@TEMPLATES@ The folder that serves as a common repository for the current user’s document templates
@FAVORITES@ The current user’s Favorites folder
@DOCUMENTS@ The current user’s My Documents folder
@MUSIC@ The current user’s My Music folder
@PICTURES@ The current user’s My Pictures folder
@PROFILE@ The folder that stores the current user’s profile data
@APPDATACOMMON@ The folder that serves as a common repository for application-specific data that is used by all users
@STARTUPCOMMON@ The folder containing startup items for all users
@PROGRAMSCOMMON@ The folder for components that are shared across applications
@STARTMENUCOMMON@ The folder containing the Start Menu contents for all users
@DESKTOPCOMMON@ The shared Desktop folder
@TEMPLATESCOMMON@ The folder that serves as a common repository for shared document templates
@FAVORITESCOMMON@ The shared Favorites folder
@DOCUMENTSCOMMON@ The shared Documents folder
@MUSICCOMMON@ The shared Music folder
@PICTURESCOMMON@ The shared Pictures folder
@PROFILECOMMON@ The folder that stores the shared profile data
ZENworks Application Virtualization for NGN Dummies more
ZENworks Application Virtualization for NGN Dummies covers a short introduction to ZAV 7.0 which has ZCM integration and support for the latest .NET Frameworks. less
0 comments
Post a comment