ZENworks Application Virtualization for NGN Dummies


Published on

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.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • ZENworks Application Virtualization for NGN Dummies

    1. 1. ZENworks Application Virtualization for NGN ‘Dummies’ Roel van Bueren ROVABU NetWorks http://www.rovabunetworks.nl
    2. 3. Planning <ul><li>16.00 – 16.15 – Introduction </li></ul><ul><li>16.15 – 17.00 – ZAV Theory </li></ul><ul><li>17.00 – 17.15 – ZAV installation </li></ul><ul><li>17.15 – 18.00 – ZAV Building apps part one </li></ul><ul><li>18.00 – 18.30 – Pizza </li></ul><ul><li>18.30 – 19.30 – ZAV Building apps part two </li></ul><ul><li>19.30 – 20.00 – Roundup </li></ul>
    3. 4. Introduction <ul><li>Who are you? </li></ul><ul><li>What is your experience with Software Packaging and Application Virtualization? </li></ul><ul><li>Which ZENworks version do you use? </li></ul><ul><li>Which Packaging Software do you use? </li></ul><ul><li>What’s your favorite type of pizza? </li></ul>
    4. 5. What is Application Virtualization? <ul><li>“ Application virtualization enables the deployment of software without modifying the local operating system or file system. </li></ul><ul><li>It allows software to be delivered and updated in an isolated environment ensuring the integrity of the operating system and all applications. </li></ul><ul><li>Application conflicts, and the need for regression testing, are significantly reduced. </li></ul><ul><li>A single application can be bundled and deployed to multiple operating system versions. </li></ul><ul><li>Applications are easier to provision, deploy, upgrade, and rollback. (VMware’s definition). </li></ul>
    5. 6. U3
    6. 7. U3 for U2 
    7. 8. Why Application Virtualization? <ul><li>Traditional application deployment is slow, insecure, and unreliable. </li></ul><ul><li>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. </li></ul><ul><li>Most applications do not function properly on secured, locked-down desktops, forcing administrators to compromise network security for application compatibility. </li></ul>
    8. 9. Why Application Virtualization? <ul><li>Interactions between shared components and different application versions frequently introduce errors when applications are installed, uninstalled, or upgraded. </li></ul><ul><li>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. </li></ul>
    9. 10. Application Virtualisation versus Application Isolation <ul><li>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. </li></ul><ul><li>Multiple versions of applications, runtimes, and components can be executed concurrently without errors. </li></ul><ul><li>ZAV supports both merge and override isolation semantics, optionally allowing virtual applications to interact with host resources when necessary. </li></ul>
    10. 11. What is ZENworks Application Virtualization? <ul><li>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. </li></ul><ul><li>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. </li></ul>
    11. 12. What is ZENworks Application Virtualization? <ul><li>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. </li></ul><ul><li>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. </li></ul>
    12. 13. ZAV at a glance <ul><li>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. </li></ul><ul><li>ZAV's unique user-mode virtualization technology offers unprecedented application performance, minimal storage overhead, and avoids the need for separate operating system licenses. </li></ul><ul><li>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 </li></ul>
    13. 14. What applications can be virtualized? <ul><li>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. </li></ul><ul><li>However, certain applications, by their nature, are unsuitable for virtualization using Xenocode's user-mode virtualization technology. </li></ul><ul><li>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. </li></ul>
    14. 15. ZAV 7.0 what’s new <ul><li>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. </li></ul><ul><li>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. </li></ul>
    15. 16. ZAV 7.0 what’s new <ul><li>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. </li></ul><ul><li>ZCM Deployment </li></ul><ul><li>Push virtual application to ZCM from within ZAV Studio </li></ul>
    16. 17. The ZAV Approach <ul><li>ZAV is a revolutionary approach to application deployment that dramatically reduces deployment and maintenance costs associated with traditional setup technologies. </li></ul><ul><li>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. </li></ul>
    17. 18. The ZAV Approach <ul><li>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. </li></ul><ul><li>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. </li></ul>
    18. 19. The ZAV OS <ul><li>The core of ZAV technology is the ZAV Virtual Operating System. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul>
    19. 20. The ZAV OS <ul><li>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. </li></ul><ul><li>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: </li></ul>
    20. 21. The ZAV OS
    21. 22. The ZAV OS <ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>The ZAV Virtual OS kernel occupies roughly 400K of disk space uncompressed, with negligible runtime performance overhead. </li></ul><ul><li>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. </li></ul>
    22. 23. Comprehensive operating system feature support <ul><li>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. </li></ul><ul><li>Similarly, registry key values containing explicit path names or prefixes are dynamically remapped to the appropriate values for the executing host device. </li></ul><ul><li>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. </li></ul>
    23. 24. Supported Platforms <ul><li>The ZAV Virtual Operating System kernel supports the Windows XP, Windows 2000, 2003, 2008 and later, Windows Server, and Windows Vista operating systems. </li></ul><ul><li>ZAV Studio creates 32-bit executables, which can be run under 32-bit mode on x64 platforms. </li></ul>
    24. 25. Supported Platforms <ul><li>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. </li></ul><ul><li>To simplify runtime and component setup, the ZAV Studio and Postbuild authoring environments provide one-click configuration of popular runtimes and components. </li></ul>
    25. 26. Application Compatibility Chart
    26. 28. Setting up your ZAV environment <ul><li>One ‘ZAV-STUDIO’ VM to build virtual apps </li></ul><ul><ul><li>Uses 10 GB disk space </li></ul></ul><ul><ul><li>512 MB memory </li></ul></ul><ul><li>Snapshots </li></ul><ul><ul><li>Vanilla XP US SP3 (incl. post SP3 hotfixes, IE7, WMP11 and all .NET Frameworks installed) </li></ul></ul><ul><ul><li>ZAV Studio installed (incl. ZAV 7.0 build 140 installed, TemplateCache and PackageCache) </li></ul></ul>
    27. 29. Setting up your ZAV environment <ul><li>One ‘ZAV-TEST’ VM to test virtual apps </li></ul><ul><ul><li>Uses 8 GB disk space </li></ul></ul><ul><ul><li>256 MB memory </li></ul></ul><ul><li>Snapshots </li></ul><ul><ul><li>Vanilla XP SP3 </li></ul></ul>
    28. 30. Setting up your ZAV environment <ul><li>Shared folders between hosts and VM’s </li></ul><ul><ul><li>Z: is mapped inside both VM’s to the C:AV directory on the host </li></ul></ul><ul><li>VMware Tools installed </li></ul>
    29. 31. Setting up your ZAV environment <ul><li>‘ Build’ VM </li></ul><ul><ul><li>Clean install of Windows XP SP3 or Windows Vista with UAC disabled </li></ul></ul><ul><ul><li>Windows Update turned off </li></ul></ul><ul><ul><li>MSN Explorer, Messenger and OE removed </li></ul></ul><ul><ul><li>‘ System Restore’ turned off </li></ul></ul><ul><ul><li>No virusscanner </li></ul></ul><ul><ul><li>Use a static IP address (no DHCP) </li></ul></ul>
    30. 32. Setting up your ZAV environment <ul><li>‘ Build’ VM </li></ul><ul><ul><li>‘ Windows Firewall’ turned off </li></ul></ul><ul><ul><li>Windows Defender not installed </li></ul></ul><ul><ul><li>Services responsible for ‘Disk monitoring’ and caching turned off </li></ul></ul><ul><ul><li>Delete temporary files and directories </li></ul></ul><ul><ul><li>Delete logfiles </li></ul></ul>
    31. 33. Setting up your ZAV environment <ul><li>‘ Build’ VM </li></ul><ul><ul><li>Disable Power Management, Disable Hibernate and/or Standby </li></ul></ul><ul><ul><li>Turn off system restore </li></ul></ul><ul><ul><li>Disable Time synchronization </li></ul></ul><ul><ul><li>Disable PreFetch </li></ul></ul><ul><ul><ul><li>HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerMemory ManagementPrefetchParameters EnablePrefetcher = 3 </li></ul></ul></ul>
    32. 34. Setting up your ZAV environment <ul><li>‘ Build’ VM </li></ul><ul><ul><li>Disable Personalized menus </li></ul></ul><ul><ul><ul><li>HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced IntelliMenus=0 </li></ul></ul></ul><ul><ul><ul><li>HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain FavIntelliMenus = no </li></ul></ul></ul>
    33. 35. Setting up your ZAV environment <ul><li>Tune Virtual Memory if needed </li></ul>
    34. 36. ZAV 7.0 Installation <ul><li>Run ‘setup.msi’ </li></ul><ul><li>Browse Start Menu for ‘Novell ZENworks Application Virtualization 7’ </li></ul><ul><li>Copy ‘Novell ZENworks Application Virtualization 7’ hyperlink to desktop </li></ul><ul><li>Create the following directories on the host: C:AV C:AVOutput C:AVProjects </li></ul>
    35. 37. Building Virtual Apps <ul><li>Building from template </li></ul><ul><li>Snapshot </li></ul><ul><li>Manual </li></ul><ul><li>Convert </li></ul>
    36. 38. Building Virtual Apps from Template <ul><li>7-Zip </li></ul><ul><li>Adobe Reader 9 </li></ul><ul><li>Gimp 2 </li></ul><ul><li>Google Talk Beta </li></ul><ul><li>Internet Explorer 6, Internet Explorer 7 </li></ul><ul><li>Office 2003, Office 2007 </li></ul><ul><li>Project 2003, Project 2007 </li></ul><ul><li>Visio 2003, Visio 2007 </li></ul><ul><li>Firefox 2, Firefox 3 </li></ul><ul><li>GroupWise Client 7.0.3, GroupWise Client 8.0 </li></ul><ul><li>GroupWise Messenger 2.0.4 </li></ul><ul><li>Novell OpenOffice 2.4.1, Novell OpenOffice 3 </li></ul><ul><li>OpenOffice 2 </li></ul>
    37. 39. Building Virtual Apps from Template
    38. 40. Building Virtual Apps <ul><li>Building from template </li></ul>
    39. 42. Building Virtual Apps <ul><li>Building from template </li></ul>
    40. 45. Building Virtual Apps by using Snapshot <ul><ul><li>Capture ‘Before’ </li></ul></ul><ul><ul><li>Install the application </li></ul></ul><ul><ul><li>Configure the application (optional) </li></ul></ul><ul><ul><li>Capture ‘After’ </li></ul></ul>
    41. 46. Building Virtual Apps by using Snapshot
    42. 48. Building Virtual Apps by using Snapshot
    43. 49. Building Virtual Apps by using Snapshot
    44. 56. Building Virtual Apps by using Snapshot
    45. 57. Building Virtual Apps by using Snapshot
    46. 58. Building Virtual Apps by using Snapshot
    47. 59. Building Virtual Apps by using Snapshot
    48. 60. Building Virtual Apps by using Snapshot
    49. 61. ProgID <ul><li>ProgID (short for PROGrammatic IDentifier) is a COM term, which is basically a string like &quot;msxml2.domdocument&quot; to represent an underlying CLSID which is something like {F9043C85-F6F2-101A-A3C9-08002B2F49FB}. </li></ul>
    50. 64. Building Virtual Apps by using Snapshot
    51. 65. Building Virtual Apps by using Snapshot <ul><li>Result is a Snapshot.xappl project file </li></ul>
    52. 66. Building Virtual Apps Manually
    53. 67. Building Virtual Apps by Converting <ul><li>ZENworks Packages (AXT) </li></ul><ul><li>MSI Packages (MSI) </li></ul><ul><li>Thinstall configuration </li></ul>
    54. 69. ZAV Studio <ul><li>Configuration Wizard </li></ul><ul><li>Sandbox / Sandbox merge </li></ul><ul><li>Documentation </li></ul><ul><li>Virtual File System </li></ul><ul><li>Virtual Registry </li></ul><ul><li>Setup </li></ul><ul><li>ZENworks (ZCM integration) </li></ul>
    55. 70. ZAV and extensions <ul><li>.Xappl </li></ul><ul><ul><li>Project file </li></ul></ul><ul><ul><li>Belong to the ‘Files’ directory in the same directory (source=&quot;.Files) </li></ul></ul>
    56. 71. ZAV and extensions <ul><li>.Xlayer </li></ul><ul><ul><li>AdobeReader_x86_8.1.2_3.xlayer </li></ul></ul><ul><ul><li>AdobeReader_x86_9.0_1.xlayer </li></ul></ul><ul><ul><li>Flash_x86_9.0.115.0_2.xlayer </li></ul></ul><ul><ul><li>Java_x86_1.5.0.140_2.xlayer </li></ul></ul><ul><ul><li>Java_x86_1.6.0.30_2.xlayer </li></ul></ul><ul><ul><li>MSNet_x86_1.1.4322_2.xlayer </li></ul></ul><ul><ul><li>MSNet_x86_2.0.50727_2.xlayer </li></ul></ul><ul><ul><li>MSNet_x86_3.0_3.xlayer </li></ul></ul><ul><ul><li>MSNet_x86_3.5SP1_2.xlayer </li></ul></ul><ul><ul><li>Shockwave_x86_10.1.4_2.xlayer </li></ul></ul>
    57. 72. ZAV and extensions <ul><li>.Xsnapshot </li></ul><ul><ul><li>ZAV Snapshot format </li></ul></ul>
    58. 73. Startup File <ul><li>One File </li></ul><ul><ul><li>For applications which have one executable </li></ul></ul><ul><ul><li>Startup File = soffice.exe </li></ul></ul><ul><li>Multiple Files </li></ul><ul><ul><li>For applications which have more than one executable (OpenOffice, Microsoft Office) </li></ul></ul><ul><ul><li>Command line (trigger) </li></ul></ul><ul><ul><ul><li>OpenOffice.exe scalc </li></ul></ul></ul><ul><ul><ul><li>OpenOffice.exe swriter </li></ul></ul></ul><ul><ul><ul><li>OpenOffice.exe scalc </li></ul></ul></ul>
    59. 74. Startup File
    60. 75. Interactions with OS
    61. 76. ZAV vs. Virtual Application Studio
    62. 77. Sandbox
    63. 78. Sandbox <ul><li>Xregistry.bin </li></ul>
    64. 79. Sandbox
    65. 80. Variables <ul><li>Sandbox Location Variables </li></ul><ul><li>Root Folder Variables </li></ul>
    66. 81. Sandbox Location Variables <ul><li>@TITLE@ Product title </li></ul><ul><li>@PUBLISHER@ Product publisher </li></ul><ul><li>@VERSION@ Full version string, in dotted quad format </li></ul><ul><li>@WEBSITE@ Publisher Web site </li></ul><ul><li>@BUILDTIME@ Virtual application build time, in a format similar to 2008.02.01 T08.00 </li></ul>
    67. 82. Root Folder Variables <ul><li>@APPDIR@ Folder where the executing virtual application resides </li></ul><ul><li>@WINDIR@ The operating system install location root </li></ul><ul><li>@SYSDRIVE@ The root folder of the drive containing the operating system installation </li></ul><ul><li>@PROGRAMFILES@ The Program Files folder </li></ul><ul><li>@PROGRAM FILESCOM MON@ The Program FilesCommon Files folder </li></ul><ul><li>@SYSTEM@ The Windows System32 folder </li></ul><ul><li>@APPDATALOCAL@ The folder that serves as a common repository for application-specific data that is used by the current, non-roaming user </li></ul><ul><li>@APPDATA@ The folder that serves as a common repository for application-specific data for the current roaming user </li></ul><ul><li>@STARTUP@ The folder containing the current user’s startup items </li></ul><ul><li>@PROGRAMS@ The folder that contains the user’s program groups </li></ul><ul><li>@STARTMENU@ The folder containing the user’s Start Menu contents </li></ul><ul><li>@DESKTOP@ The current user’s Desktop folder </li></ul><ul><li>@TEMPLATES@ The folder that serves as a common repository for the current user’s document templates </li></ul><ul><li>@FAVORITES@ The current user’s Favorites folder </li></ul><ul><li>@DOCUMENTS@ The current user’s My Documents folder </li></ul><ul><li>@MUSIC@ The current user’s My Music folder </li></ul><ul><li>@PICTURES@ The current user’s My Pictures folder </li></ul><ul><li>@PROFILE@ The folder that stores the current user’s profile data </li></ul><ul><li>@APPDATACOMMON@ The folder that serves as a common repository for application-specific data that is used by all users </li></ul><ul><li>@STARTUPCOMMON@ The folder containing startup items for all users </li></ul><ul><li>@PROGRAMSCOMMON@ The folder for components that are shared across applications </li></ul><ul><li>@STARTMENUCOMMON@ The folder containing the Start Menu contents for all users </li></ul><ul><li>@DESKTOPCOMMON@ The shared Desktop folder </li></ul><ul><li>@TEMPLATESCOMMON@ The folder that serves as a common repository for shared document templates </li></ul><ul><li>@FAVORITESCOMMON@ The shared Favorites folder </li></ul><ul><li>@DOCUMENTSCOMMON@ The shared Documents folder </li></ul><ul><li>@MUSICCOMMON@ The shared Music folder </li></ul><ul><li>@PICTURESCOMMON@ The shared Pictures folder </li></ul><ul><li>@PROFILECOMMON@ The folder that stores the shared profile data </li></ul>
    68. 83. MSI wrapper <ul><li>Desktop Icons </li></ul><ul><li>Shortcuts </li></ul><ul><li>File associations </li></ul>
    69. 84. Sandbox merge
    70. 85. Diagnostics-mode executable
    71. 86. Issues
    72. 87. ZCM integration
    73. 88. ZCM integration
    74. 92. ZAV and ZCM integration
    75. 93. Questions