design considerations VDI

VMware Horizon Virtualization Pack for Skype for Business

Optimizing Skype for EUC Is the Only Way to Go

You can run Skype for Business inside Horizon 7 virtual desktops without negatively affecting the virtual infrastructure and overloading the network. During Skype audio and video calls, all media processing takes place on the Windows client machine, instead of in the virtual desktop,.

To learn more about the Horizon Virtualization Pack for Skype for Business, watch the following two videos (each 10 minutes long) that provide a technical overview of the technology and offer some insights to its performance-enhancing characteristics.

Technical Overview for the Horizon Virtualization Pack (Video Presentation)

The technical overview for the Horizon Virtualization pack video covers the following topics:

  • Challenges delivering Skype audio and video media
  • How it works
  • Key benefits and capabilities
  • Architecture
  • External accessibility
  • Installation steps
  • Supportability
  • Troubleshooting and configuration
  • Resources

Horizon with Skype for Business Testing (Video Results)

The Horizon with Skype for Business Testing video demonstrates VMware Horizon 7 with Skype for Business for audio and video call scenarios. The video provides a series of test cases that show the benefits of the Horizon Virtualization Pack for Skype for Business. The video offers both qualitative and quantitative test results that compare two Horizon 7 deployment scenarios that include and exclude the Virtualization Pack.

The difference does not seem significant at first, but the impact is more far-reaching when you consider performance when scaling beyond the resource consumption of two sessions. When sites try to scale EUC workloads based on Skype for Business, the importance of using the Virtualization Pack becomes paramount, as is evident from the details of this study.

The testing environment consisted of:

  • VMware Horizon 7.2
  • VMware Client 4.5
  • Skype for Business
    • Server: Office 365
    • Client: Office 2016 Pro Plus, 32-bit
  • Horizon 7 test lab
    • Located in Washington state
    • Two Windows 10 Enterprise 64-bit virtual desktops
  • Horizon 7 test clients
    • Located in North and South Florida
    • Two Windows 10 systems

The configuration scenarios for the point-to-point video-call testing included:

  • Test 1: The first test scenario was configured for a point-to-point video call using the VMware Real-Time Audio-Video (RTAV) feature included with Horizon 7. Although RTAV supports webcams and audio devices, it is not the most efficient means for delivering Skype due to the media hairpinning and transcoding method that this technology uses. However, RTAV does serve as sufficient fallback for times when the Virtualization Pack cannot be used.

Testing was staged with virtual desktops hosted in Washington, and the client endpoint devices across the U.S., 3,000 miles away in Florida. There was over 100 ms of network latency that separated the virtual desktops from the endpoints. This is a great example of why media hairpinning is very costly; the audio and video from the local endpoints was sent to the virtual desktops, exchanged among the Skype clients, transcoded as part of the remote delivery protocol, and then finally delivered to the endpoints coast-to-coast a second time.

  • Test 2: The second test scenario was configured for a point-to-point video call using the VMware Horizon Virtualization Pack for Skype for Business feature included with Horizon 7. The Virtualization Pack is the optimized, best approach for delivering Skype because the audio and video media is delivered directly to and from the client endpoint devices without transcoding, and is routed out-of-band to the remote delivery protocol.

Test 2 used the same hosting environment, client endpoint devices, and network conditions as the first test scenario. Because the Virtualization Pack was enabled for this configuration, the audio and video media exchanges were contained in the endpoints and never traversed across the country. A clearer, better user experience can be observed in the captured footage while substantially fewer EUC infrastructure resources were consumed when compared to the first test scenario.

Be sure to watch the video in its entirety for other data points and details, as well as another testing scenario using a single desktop session.



These two videos provide a technical overview of the Horizon Virtualization Pack for Skype for Business and demonstrate the performance-enhancing characteristics of the technology.

  • VMware Horizon Virtualization Pack for Skype for Business – Technical Overview
  • VMware Horizon and Skype for Business Demonstration


The post VMware Horizon Virtualization Pack for Skype for Business appeared first on VMware End-User Computing Blog.

Read more..

Profiling Applications with VMware User Environment Manager, Part 2: Applying and Troubleshooting Predefined Settings

In Part 1 of this blog series, you were introduced to the VMware User Environment Manager Application Profiler. In Part 2 we will profile a popular video playback application called VLC Media Player, capture specific application settings, apply these as predefined settings when an end user launches the application, and explore troubleshooting techniques as needed.


Configuring a specific toolbar layout, setting a region-specific language, disabling automatic updates—these are just a few of many reasons IT might want to configure predefined application settings. Unfortunately, this is not always a simple task. Software vendors store configuration data in a variety of locations, and various packaging and deployment technologies have their own methods for customizing application settings.

VMware User Environment Manager provides an easy and consistent way to apply and enforce predefined settings for all your Windows applications. We will use the Application Profiler tool to capture these settings.


Installing Application Profiler and performing the initial profiling process is outside the scope of this blog post, and is well-documented in the VMware User Environment Manager Application Profiler Administration Guide. This blog post will focus on the advanced scenario of troubleshooting a profiled application.

The following describes the configuration used to profile VLC. For a comprehensive list of supported operating systems for Application Profiler, see the VMware User Environment Manager Application Profiler Administration Guide.

Application Packaging and Profiling Machine Configuration (Profiling VM)

The application packaging and profiling machine (also called the profiling VM) is configured with the following:

  • Windows 10 Anniversary Update (AU) VM.
  • VMware App Volumes Agent version 2.12.
  • VMware User Environment Manager Application Profiler version 9.1.
  • svc-profiler domain account has local administrative privileges.


The App Volumes Agent is an optional component, and is part of the VMware End-User-Computing JMP Solution. This agent is included so the same VM can be used to build an App Volumes AppStack for application deployment, and to profile the application for personalization with User Environment Manager. If you would like to learn more, or include App Volumes in your environment, refer to the App Volumes Reviewer&#rsquo;s Guide.

End-User Machine Configuration

The end-user machine in this example has the following configuration:

  • Windows 10 AU
  • VMware App Volumes Agent version 2.12.
  • VMware User Environment Manager FlexEngine version 9.1.
  • jspencer is a standard end user domain account.

Application Profiling

VLC Media Player version 2.2.4 was captured to an App Volumes AppStack using all default installation options. The AppStack was then used to deliver VLC to the profiling VM. During the User Environment Manager application profiling process, the View > Playlist setting was selected for the default view.

Note: Playlist is the item being selected. Docked Playlist is a default setting, independent of Playlist.

Upon completion of the profiling process, we see that the configuration change was written to the file system, in the %AppData%vlc folder.

Selecting Config File with Predefined Settings from Application Profiler produces four files:

  • INI – User Environment Manager configuration file containing the import and export locations. This file defines the parameters for User Environment Manager to manage the application.
  • ICO – Icon used by User Environment Manager Management Console and the Self-Support tool.
  • FLAG – Flag file for FlexEngine, when DirectFlex is enabled (default).
  • ZIP – Contains the predefined user settings.

I prefer to modify the Default Save Path so saved files are automatically added to User Environment Manager.

While you may be tempted to open and edit the ZIP file directly from Windows Explorer, it is critical that the Edit Profile Archive button be used instead. User Environment Manager uses the standard ZIP file format to prevent the creation of proprietary file formats, but the writes to and reads from the ZIP files are optimized for performance. Using tools outside of User Environment Manager to edit these ZIP files makes them unreadable by FlexEngine.

By editing the profile archive, we can browse the contents and make changes as needed.

Notice that VLC uses an INI file to record the user settings. When View > Playlist was selected during application profiling, playlist-visible=true was recorded in the INI. However, there are a number of additional settings that were automatically recorded in the INI.

When configuring predefined application settings, user settings that are stored in an INI file may result in different behavior than user settings stored in registry keys. We will come back to predefined settings later in this post.

For now, we are going to take a step back and run the application profiling process again for VLC. This time, View > Playlist is selected, and Tools > Preferences > Menus Language is configured for French.

Upon completion of the profiling process, we see that the configuration changes were written to the file system, in the %AppData%vlc folder, and to the registry, in HKCUSoftwareVideoLAN.

When we edit the profile archive this time, we see both AppData and Registry folders.

While it is not a common practice for application vendors, this version of VLC Media Player stores the language setting in the registry, while a variety of other user settings are stored in an INI file.

As mentioned in Part 1 of this series on the Application Profiler it is important to &#rsquo;know thine app.&#rdquo;

Configuring and Applying Predefined Settings

To configure and apply the predefined settings, we use the User Environment Manager Management Console.

The VMware User Environment Manager Administration Guide provides a detailed description of the four types of predefined settings you can choose from. For our purposes, we will configure VLC Media Player predefined settings to Partially Enforced Settings. Partially Enforced Settings are applied after the user profile archive has been imported. This effectively merges the user personal settings with the partially enforced settings. In case of a conflict, the partially enforced settings win and overwrite the user personal settings.

To test our configuration, I will log in to a View instant-clone desktop in as jspencer. The same App Volumes AppStack that was used to deliver VLC to the application-packaging VM is used to dynamically deliver VLC to the VM when I log in. When I launch VLC for the first time, the menus are in French, and the interface is configured for Playlist view. Success!

While logged in as jspencer, I will disable the Playlist view, change the language to American English, and clear all of the check boxes on this preferences page.

Based on the way the Partially Enforced Settings option is designed to behave, we would expect the following behavior the next time VLC is opened by jspencer:

  • The menus will be in French and the Playlist view will be enabled. This is because both settings were configured during application profiling, and applied as partially enforced predefined settings.
  • The check boxes cleared on the preferences page will remain cleared. This is because these settings are not specified by the predefined settings, and are therefore user settings that will be stored in the user-profile archive.

After closing and re-opening the application, we see that all of my changes were discarded, including the check boxes on the preferences page. This is not what we expected!

But why did this happen?

We are seeing the result of an application storing its user settings in an INI file. To understand this, let us look at the workflow when a user logs in to a Windows desktop with User Environment Manager enabled.

  1. User logs in.
  2. User profile archive, including any custom user settings, is imported to Windows.
  3. Predefined application settings are imported to Windows.

User Environment Manager behaves differently during Step 3 depending on whether the application settings are stored in the registry or in an INI file.

User Environment Manager can parse individual registry settings. You might think of this as merging only the specified, predefined registry keys to the Windows registry. In our test case, only the language setting is forced on the end user by the predefined application settings registry import. Any other user settings that happen to get recorded in HKCUSoftwareVideoLAN are preserved for the end user. This enables IT to enforce specific application settings, while granting the end user flexibility to customize and preserve any other settings.

When applications store configuration data in files (INI,XML, or others), User Environment Manager can only overwrite the entire file. In our test case, the Playlist view predefined setting is stored in an INI file. That file is part of the predefined applications settings that are applied after the user profile archive is imported. The user jspencer made several changes (cleared check boxes) to the preferences page, which were stored in that same INI file. Going back to the previous workflow, the problem becomes apparent.

  1. User login.
  2. User profile archive, including the INI file customized per the user settings, is imported to Windows.
  3. Predefined application settings, including a copy of the INI file created during the application profiling process, overwrites the INI file imported in Step 2.

Another Issue with Text Files

Even though I am logged in to the end-user VM as jspencer, browsing to the VLC application settings INI shows a value that includes the user name (svc-profiler) of the account that was used during the application profiling process.

The intended behavior is for this line to be populated with the user name of the currently logged-in user—jspencer in this case.

User Environment Manager supports using placeholders to accommodate variables in text files.

Editing the profile archive allows us to modify the text file manually. In this case, I have replaced jspencer with the system variable %username%. See the User Environment Manager Administration Guide for proper syntax and usage.

Now when jspencer runs the application, the user name is properly reflected in the INI.


The following is a brief summary of the application profiling concepts and practices covered in this blog post, which you can apply to your own applications.

  • Always use the Application Profiler or the User Environment Manager tools to edit a profile archive ZIP
  • Applications might store user settings in the registry, in files, or both. Taking the time to fully understand the way your application behaves (&#rsquo;know thine app&#rdquo;) will ensure successful application profiling.
  • When applications store user settings in an INI file, the intended behavior of partially enforced predefined settings might
  • When applications store user settings in a file, values from the profiling VM or profiling user account might be preserved in the predefined application settings. Placeholders enable the use of system variables to address this possibility.


The post Profiling Applications with VMware User Environment Manager, Part 2: Applying and Troubleshooting Predefined Settings appeared first on VMware End-User Computing Blog.

Read more..

Profiling Applications with VMware User Environment Manager, Part 1: Introduction to Application Profiler

With contributions from:

Jim Yanik, Senior Manager, End-User-Computing Technical Marketing, VMware

Pim Van De Vis, Product Engineer, User Environment Manager, Research & Development, VMware

Stephane Asselin, Lead Architect, App Volumes, VMware

Successful management of applications across physical, virtual, and cloud devices is becoming increasingly important. Whether your organization fits neatly in to one of those silos, or spans all three, the challenge is finding tools designed to work well for any one platform, and seamlessly across them all. VMware User Environment Manager is one of those tools. With a little savvy, you can provide a superior experience for your end users while simplifying profile management.


Personalization, or management of user-specific application settings, is one of many features included with VMware User Environment Manager. This feature enables end users to roam between disparate devices, while preserving custom application settings. IT benefits from simplified application installations, while delivering necessary configuration settings based on any number of environmental conditions.

If you are new to User Environment Manager, I encourage you to visit the VMware User Environment Manager Product Page for an overview, and the VMware User Environment Manager video series on YouTube for more detail. You will learn about a variety of features and benefits such as dynamic policy configuration across physical, virtual, and cloud desktops. An overview of User Environment Manager is outside the scope of this blog post, but there is a fundamental concept which is sometimes overlooked or misunderstood. VMware User Environment Manager takes a whitelist approach to managing the user profile. Given this design approach, IT must specify which applications and settings will be managed. Although it does mean a little more work up front, this solution prevents excessive profile growth and profile corruption, enables user settings to roam across Windows versions, and provides IT granular control to manage as much or as little of the user experience as needed.

Preserving user-specific application settings and applying or enforcing specific default application settings are key features of User Environment Manager. Both of these concepts are illustrated in a recent blog post titled VMware User Environment Manager, Part 2: Complementing Mandatory Profiles with VMware User Environment Manager which demonstrates the power and flexibility of combining User Environment Manager with Microsoft Mandatory Profiles. VMware provides application management templates for commonly-used software packages, and the VMware User Environment Manager Community Forum contains many more templates created with an included tool called Application Profiler.

Application Profiler is a standalone tool that helps you determine where in the file system or registry an application is storing its user settings. The output from Application Profiler is a configuration file which can be used to preserve and roam application settings for your end users. Optionally, you can record a default set of application settings, and apply and/or enforce these defaults for your users based on a variety of conditions.

For more information or to get started with the Application Profiler tool, see the VMware User Environment Manager Application Profiler Administration Guide.

The Pareto Principle

The Pareto Principle, commonly referred to as the 80/20 rule, states that 80% of the effects come from 20% of the causes. I have been using application management software in some form or another for nearly two decades. In that time, I have found the Pareto Principle to be particularly applicable in that a small number of applications tend to cause the vast majority of challenges for IT.

While the Application Profiler tool is easy to use, and most applications can be profiled with little more effort than a simple installation, there are exceptions. The aforementioned Community Forum is a great place to look when you are having trouble profiling an application, but what if you cannot find the particular application template you need?

Know Thine App

A friend once gave me a t-shirt with this expression on it. Over the years, I have found it to be invaluable advice, though it is sometimes easier said than done.

Because Windows is an open platform, application developers have a great deal of flexibility in the way applications they design behave. While guidelines and best practices have been established over the years, we still occasionally find and application which writes a log file to C:Temp!

Understanding the behavior of an application, not just during installation, but as the application is opened, modified, updated, and so on, is critical to successfully managing the application lifecycle. There are a number of tools available, such as the Sysinternals Suite, to help you understand how an application behaves. These are powerful tools, but as you can see they are plentiful, and can be time-consuming and cumbersome to use.

The VMware User Environment Manager Application Profiler tool is purpose-built to help you easily understand how an application behaves. With real-time application analysis capabilities, Application Profiler automatically generates configuration files which enable application management.

What to Expect from This Blog Series

The purpose of this blog series is to enable you, the IT Administrator, to successfully profile and manage any applications you choose. In each subsequent blog post we will explore a new application.

Going back to the Pareto Principle, most applications are simple to profile using the steps detailed in the VMware User Environment Manager Application Profiler Administration Guide. Because of this, applications known to require some troubleshooting will be chosen for this series. You will get a chance to see the symptoms of applications that do not initially profile correctly, and the process used to resolve the problem. You can then take these practices and apply them to applications in your environment.

This series is designed for a User Environment Manager administrator with at least a basic understanding of the Application Profiler tool. If you are new to Application Profiler, review the guide listed previously before continuing to the rest of the series.


Managing applications with User Environment Manager improves the experience for end users and simplifies application lifecycle management for IT. Profiling applications is a simple process, and most applications will work out of the box. For problematic applications, you can find configuration templates on the Community Forum. If you cannot find what you are looking for, the skills you learn in this blog series should help you to create your own templates. Have you already created a configuration template? Be sure to share!

The post Profiling Applications with VMware User Environment Manager, Part 1: Introduction to Application Profiler appeared first on VMware End-User Computing Blog.

Read more..

Go Que Newsroom Categories

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 20 bytes)
in /home/content/36/8658336/html/goquecom/wp-includes/wp-db.php on line 2022

Query Monitor