Microsoft App-V: What Software Developers Should Know


With the increased adoption of Microsoft App-V by corporate and government organizations, the software installation development landscape is beginning to change. It’s a shift that is reminding many developers and industry analysts of what happened with Windows Installer (MSI) ten years ago.

Prior to Windows Installer, developers built installs as standalone script-based executables. Windows Installer was released as a more reliable alternative, and companies began adopting it in order to achieve more predictable and consistent software deployments. This change from scriptbased installs to MSI installs required software companies around the world to rewrite their installation setups and instead deliver MSI packages to their user base.

Today, a similar shift seems to be occurring with App-V. Just like with MSI, as more and more companies are adopting App-V for its cost-reducing and time-saving benefits, it is driving software companies to provide their applications to companies as both App-V and traditional MSI packages. Remember how one of the critical first steps to mainstream MSI adoption occurred when Microsoft released Office 2000 with an MSI installer? When Microsoft released Office 2010, they also provided customers the option of downloading the application suite as an App-V virtual package. And since then, other software companies have followed suit and offered their products as App-V packages.

So what exactly is Microsoft App-V? Why is it becoming popular with enterprises, and what options exist to help software developers build an App-V package? This white paper answers these questions and gives software development teams information on how to integrate App-V package authoring into their regular MSI development process.

Why Software Companies Are Providing Customers the App-V Option

Software companies today are making their applications available as App-V packages for one simple reason: their customers want it.

For enterprises and government organizations, App-V has many time- and cost-saving benefits over traditional installed applications. However, standardizing on App-V requires legacy and newly purchased applications be converted to the App-V format, and that can be a time-consuming process that can tie up IT resources. Software companies that proactively provide their applications natively in the App-V format are directly helping their customers reduce the costs of supporting their application by eliminating the need for this time-consuming conversion work.

Limitations of a Traditional Installation Environment

To help better explain the benefits of application virtualization technologies like App-V, let’s examine the limitations of a traditional MSI installation. A typical Windows application has dependencies on components that are shared by multiple applications. Applications access these shared system resources, such as the registry or Windows system files. When an installation author recognizes that their application references a shared system component, they include a merge module to install that component.

When one of these shared components is installed during an application’s installation, it is possible that a previously installed version of the same component could be overwritten, causing the existing application to break. Because of these possible problems, extensive compatibility testing needs to be performed before an application can be deployed in the enterprise environment.

The following diagram provides an example of two conflicting installed applications.

Also, if users within an enterprise run multiple versions of an operating system (like Windows 7 and XP), it makes it more difficult and time-consuming to support deployed applications, as you have to test on both versions of operating systems.

Benefits of Virtual Applications

Virtual applications run in virtual environments that keep the application layer and the operating system layer separate. Each application includes its own configuration information in its virtual environment. As a result, many applications can run side-by-side with other applications on the same computer without any conflicts.

Even though virtual applications are not installed on the local machine, they exhibit the same performance, functionality, and access to local services as a locally installed application would have.

The following diagram provides an example of how application virtualization would solve the conflicts shown in the previous example.

Application virtualization allows the configuration of an application to be standardized to an isolated environment, rather than to an individual user’s desktop machine. Application objects, files, and registry settings are contained within this isolated environment. Critical application resources are managed locally by the isolated environment, thus minimizing resource dependencies between applications.

Application virtualization technologies like App-V transform applications into virtualized, network-available services that are never installed and rarely conflict, minimizing costly compatibility testing. Users and their application environments are no longer machine-specific, and the machines themselves are no longer user-specific. This can enable an enterprise’s IT team to be much more flexible and responsive to business needs, and dramatically reduce the cost of desktop management initiatives.

Also, with App-V you can run multiple versions of an application side-by-side on the same computer. Many applications such as Microsoft Office don’t allow different versions to co-exist on a machine. However, it is often possible to create App-V packages for the different versions and deploy them simultaneously. Side-by-side execution is helpful in many scenarios, including enabling your end users to test out a new version of your application while still running the old one.

Another extension of this is the capability to execute the same App-V application simultaneously by multiple users. Some traditionally installed applications can’t be run multiple times due to resource locking, but can run when deployed as App-V applications. This is especially useful when using Remote Desktop Services.

Save Your Customers Time and Resources

Software companies that generate App-V packages natively for their own applications save their customers the time and effort of having to do the conversion work themselves. Vendor-provided virtual packages are seen by IT customers as preferable, since a software vendor will be most familiar with how to optimally create the App-V package for their specific application, rather than a system administrator who must rely on a conversion tool to accomplish the same task. By delivering a virtual package along with the traditional MSI package, software vendors can offer much greater value to their customers.

About Microsoft App-V

So what exactly is an App-V package and what are its components? Microsoft Application Virtualization (App-V) allows applications to be deployed in real-time to any client from a virtual application server, removing the need for local installation of the applications. Instead, only the App-V client needs to be installed on the client machines.

This is an excerpt. Download the entire pdf: Microsoft App-V: What Software Developers Should Know