In the previous article, we discussed the various types of non-virtual packages and gave some practical advice for application packaging. Now, we will move on to virtual packages and begin with Microsoft App-V as one of the most widely used virtualization formats.

The process of creating virtual packages is called virtualization. Application virtualization is the technique of separating the application configuration layer from the operating system. It enables applications to run on clients – desktops, servers, and laptops – without actually being installed on them and to be administered from a central location. With applications installed on a centralized server using this method, users of application virtualization solutions can access that software from whatever particular operating system their computers are running.

App-V is a widespread application virtualization and streaming solution from Microsoft. App-V enables you to make applications available to the end users without installing the applications directly on end user computers. App-V transforms applications into centrally managed services that are never installed and don't conflict with other applications. This is made possible through a process known as “sequencing the application”, which enables each application to run in its own self-contained virtual environment on the client computer. The sequenced applications are isolated from each other. This eliminates application conflicts, but the applications can still interact with the client computer

App-V is a part of the Microsoft Desktop Optimization Pack (MDOP) and requires additional licensing. The licensing is user-based and is either acquired by licensing Microsoft Desktop Optimization Pack (MDOP) for use on client operating systems or as part of the Microsoft Remote Desktop Server Client Access License for use on Remote Desktop Servers. MDOP is a suite of technologies available as a subscription for Software Assurance customers. There also exists a licensing model that exists for hosting (cloud services) providers.


App-V 5.1 Environment Overview

Microsoft Application Virtualization (App-V) 5.1 enables administrators to deploy, update, and support applications as services in real time, on an as-needed basis. Individual applications are transformed from locally installed products into centrally managed services and are available wherever you need, without the need to pre-configure computers or to change operating system settings.

App-V consists of the following elements:

·       App-V Management Server that provides a central location for managing the App-V infrastructure, which delivers virtual applications to both the App-V Desktop Client and the Remote Desktop Services (formerly Terminal Services) Client. The App-V Management Server uses Microsoft SQL Server® for its data store, where one or more App-V Management Servers can share a single SQL Server data store. In addition, it authenticates requests and provides security, metering, monitoring, and data gathering. Active Directory and supporting tools are used to manage users and applications. The server has a management site that lets you configure the App-V infrastructure from any computer: you can add and remove applications, manipulate shortcuts, assign access permissions to users and groups, and create connection groups. Finally, the App-V Management Server enables communication between the App-V Web Management Console and the SQL Server data store. These components can all be installed on a single server computer, or on one or more separate computers, depending on the required system architecture.

·       App-V Publishing Server provides App-V Clients with entitled applications for the specific user and hosts the virtual application package for streaming.

·       App-V Desktop Client retrieves virtual applications and publishes the applications to the clients. It also automatically sets up and manages virtual environments at runtime on Windows endpoints, as well as stores user-specific virtual application settings, such as registry and file changes, in each user's profile.

·       App-V Remote Desktop Services (RDS) Client enables Remote Desktop Session Host servers to use the capabilities of the App-V Desktop Client for shared desktop sessions.

·       App-V Sequencer is a wizard-based tool that you use to transform traditional applications into virtual applications. The Sequencer produces the application “package,” which consists of:

a)      a sequenced application (APP-V) file;

b)     a Windows Installer file (MSI) that can be deployed to clients configured for stand-alone operation;

c)      Several XML files including Report.XML, PackageName_DeploymentConfig.XML, and PackageName_UserConfig.XML. The UserConfig and DeploymentConfig XML files are used to configure custom changes to the default behavior of the package.

What’s inside an App-V package

To create a package as it has been mentioned in the previous paragraph, you will need a sequencing software. The sequencing process creates virtualized application with the following files:

.appv – the primary package file, which contains the captured assets and state information from the sequencing process. The architecture of the package file, publishing information, and registry are in a tokenized form that can be reapplied to a machine and to a specific user upon delivery.

.msi – executable deployment wrapper that you can use to deploy .appv files manually or by using a third-party deployment platform.

_DeploymentConfig.XML – a file used to customize the default publishing parameters for all applications in a package that is deployed globally to all users on machines that are running the App-V client.

_UserConfig.XML – a file used to customize the publishing parameters for all applications in a package that is a deployed to a specific user on a computer that is running the App-V client.

Report.xml – a summary of messages generated during the sequencing process, including omitted drivers, files, and registry locations.

.CAB (Optional) – a package accelerator file used to automatically rebuild a previously sequenced virtual application package.

.appvt (Optional) – a sequencer template file used to retain commonly reused Sequencer settings.             


App-V for Windows 10

From the Windows 10 1607 build, the App-V for Windows 10 is built into the Enterprise edition of the OS. However, is still requires downloading, installing, enabling the server- and client-side components. Luckily, if you are already using App-V 5.x, you don't need to re-deploy the App-V server components as they haven't changed since App-V 5.0 was released. In other cases, the App-V server components can be obtained with the Microsoft Desktop Optimization Pack (MDOP) 2015 ISO. The App-V client is already included in the Windows 10 1607 and must be enabled with either Group Policy or PowerShell – here’s a step-by-step instruction. Finally, you will require a sequencer – you can use one that Microsoft offers or choose from a wide variety of sequencing software.

If you need help upgrading to App-V for Windows 10, we suggest using this guide from Microsoft. Also, App-V gradually approaches end of mainstream support (more information on this here) so now is a good time to plan the future migration.

Our own application packaging & virtualization tool PACE Suite allows you to sequence and edit App-V 5.x packages, as well as offers full support of App-V for Windows 10. Learn more about PACE Suite: https://goo.gl/tP3mkK