Microsoft App-V

Last updated
Microsoft Application Virtualization logo Microsoft Application Virtualization logo 01.png
Microsoft Application Virtualization logo

Microsoft Application Virtualization (also known as App-V; [1] formerly Softricity SoftGrid) [2] is an application virtualization and application streaming solution from Microsoft. It was originally developed by Softricity, a company based in Boston, Massachusetts, acquired by Microsoft on July 17, 2006. [3] App-V represents Microsoft's entry to the application virtualization market, alongside their other virtualization technologies such as Hyper-V, Microsoft User Environment Virtualization (UE-V), [4] Remote Desktop Services, and System Center Virtual Machine Manager. [5]

Contents

Overview

App-V allows applications to be deployed ("streamed") in real-time to any client from a virtual application server. It removes the need for traditional local installation of the applications, although a standalone deployment method is also supported. With a streaming-based implementation, the App-V client needs to be installed on the client machines and application data that is stored on the virtual application server is installed (streamed) to the client cache on demand when it is first used, or pre-installed in a local cache. The App-V stack sandboxes the execution environment so that an application does not make changes directly to the underlying operating system's file system and/or Windows Registry, but rather is contained in an application-specific "bubble". App-V applications are also sandboxed from each other, so that different versions of the same application can be run under App-V concurrently and so that mutually exclusive applications can co-exist on the same system. Nevertheless the separation is not a security boundary. [6]

App-V thus allows centralized installation and management of deployed applications. It supports policy based access control; administrators can define and restrict access to the applications by certain users, or on certain computers, by defining policies governing the usage. App-V also features a tracking interface to track the usage of the virtualized application. Servers may be implemented in highly available configurations when desired.

The App-V client presents the user with a neat, locally installed application experience for virtualized applications. Access to start the virtualized application appears to be identical to the locally install application, as extensions for the application are integrated into the user's desktop shell by the App-V client. When two or more virtual applications have a dependency on each other, the individual virtualized applications may also be configured to run together in a single isolated bubble.

Microsoft App-V is an additional component requiring licensing for use. 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.

Major versions and variants

Microsoft released Version 5 of App-V in late November 2012, which is a third generation major redesign of the entire platform. Version 5 modernized the product, replacing components designed for use originally against Windows NT and Windows 2000 some 11 years earlier. The redesign also allowed for support of newer operating system features and improvements to virtualization support.

Version 4.x of the product is still in widespread use and is currently in active support. Microsoft extended the version 4 based support for up to Windows 8.1 and Server 2012 R2 client operating systems; however, some of the newer operating system features are not available for virtualized applications using App-V 4.x. The Microsoft standard end of support date for App-V 4.x was July 2015. [7]

Versions 3.x and 2.x are not known to be in production use any more; support for these versions ended with the acquisition of Softricity by Microsoft. Versions 2.x through 4.x represent the second generation application virtualization product.

There was no 1.x version of the product. Prior to the release of SoftGrid 2.0, Softricity was known as SoftwareWow!. SoftwareWow! was an early cloud based service provider with an application store that streamed applications (primarily games) to consumers. The service used an in-house first generation product to provide Software As A Service (SaaS). Although little online information exists about the company today, [8] this product provided streaming services with very limited virtualization support.

An offshoot of App-V was released by Microsoft under the name Microsoft Server Application Virtualization (“App-V for Servers”). [9] This platform, which supports virtualization redirection but without isolation, is aimed at delivering virtualized server loads that would not have intra-application conflicts. The product is available as part of System Center Virtual Machine Manager, and is typically used to spin up new instances of servers on a demand-driven basis.

Architecture

Microsoft offers three options for the deployment of virtual applications, which affects the architectural components used:

The implementation of these three deployment options are different when version 5.x or 4.x of App-V is used. Each are described separately.

Architecture in versions 5.x

The 5.x based architecture has three major options that may be used. All three of these options use a few common components:

The remainder of the 5.x architecture is dependent on the deployment option used.

Full App-V 5.x Server option

The Full App-V 5.x Server composed of the following additional components:

  • Microsoft Application Virtualization 5.x Management Server, used to define applications and connection groups and assign them to Active Directory Security Groups containing lists of users or computers authorized to use the application. This server also distributes a summary of this information to multiple Publishing Servers. The Management Server is implemented as Web Service that stores configuration information in a back-end database. The Web Service may be accessed using a Silverlight-enabled web browser or PowerShell.
  • Microsoft Application Virtualization Publishing Server, used to authenticate users and computers and deliver appropriate virtual application metadata for publishing to the client.
  • Package Store, a simple file share that will be used by the clients to stream virtual applications from. In some cases, the Package Store may be fronted by a web server.

Configuration Manager integration option

The Configuration Manager composed of the following components:

  • Microsoft System Center Configuration Manager Site Server, used to define operating images, traditional application packages for installation, virtual applications, and other deployment tasks. These items may also be assigned to collections of users and computers, along with requirements and dependencies. This information is stored in a database and delivered, via a Distribution Point, to client machines.
  • Microsoft System Center Distribution Point, used to cache content for deployment for a highly scalable solution.
  • Microsoft System Center Client Agent, used to pull deployment metadata and content from the Distribution Point, and implement a variety of client component actions. From an App-V perspective, this component delivers the virtual application to the App-V Client.

App-V 5 requires the use of System Center Configuration Manager 2012, and above, for full support of App-V features. Deployment by older versions, or other electronic delivery systems, are also possible by using the virtual msi method of deployment.

Standalone mode

The App-V 5.x clients contains a PowerShell API that is ultimately used by both of the server modes above. It is sometimes desirable to use this API directly at the client, either manually or using additional tooling developed by third parties.

Architecture in versions 2.x through 4.x

The 4.x based architecture has three major options that may be used as well. All three of these options use a couple of common components:

Dedicated App-V management server

The App-V 4.x system architecture is composed of the following components:

  • Microsoft Systems Center Virtual Application Management Server, which is used to define applications and assign them to Active Directory Users, or Security Groups containing lists of users, authorized to use the application. The server also performs runtime authentication against authorized lists and records application usage (metering) information in a database for reporting.
  • Microsoft Systems Center Virtual Application Management Service, which is a .NET remoting web service, manages client requests for applications. This server works in conjunction with the Management Server to provide authorized application metadata for publishing, verification of authorized use, and reporting data. The server also handles streaming operations of the virtualized packages using an extension of the RTSP protocol.
  • App-V Management Console, the management tool to set up, administer and manage App-V servers. It can be used to define policies that govern the usage of the applications. It can also be used to create, manage, update and replicate virtualized application packages.

Shared System Center Configuration Manager

In 2009 Microsoft offered a new way to implement App-V with enhancements to System Center Configuration Manager. System Center Configuration Manager Architecture consists of the following components:

  • System Center Configuration Manager Site Server, serving as the primary repository for holding system images, application packages created using traditional installers, and virtual applications.
  • System Center Configuration Manager Distribution Server, used to cache and distribute the software on a more local level.

App-V 4.x has direct integrations with Configuration Manager 2007 SP1 through 2012 R2.

"Stand-alone" mode

The App-V clients may also be used in a "stand-alone mode" [10] without either of the server infrastructures previously described. In this case, the sequenced packages are delivered using an external technique, such as an Electronic Software Delivery system or manual deployment.

Operation

Aside from the operations associated with the deployment operations, App-V Application Virtualization mainly comprises two components the App-V Sequencer and the App-V Client.

The App-V sequencer is the component which re-packages an application for virtualization and streaming. It analyzes the application for the resources that it requires, supports customization of the applications, and from this creates a package containing the executable components, data files, and registry settings required by the application. The package format for the 4.x and 5.x versions are quite different:

The sequencer monitors the application installation, configuration, and runtime use of file and registry resources to determine package contents and configuration. It abstracts machine and user specific information to improve portability of the application components, allowing most applications to be run by different users, on different hardware, and even on different operating systems in some cases. The package is also configured for streaming operations, where portions of files may be delivered on an as-needed basis to clients. Guidelines for sequencing applications are different for the 4.x [14] and 5.x [15] versions.

The App-V client receives virtual application package definitions in several ways. When configured to receive from a Full App-V Infrastructure Server, this occurs automatically on logon, or a timer, and is initiated by the App-V Client. It also may be sent instructions via a client API, which is used by System Center deployments, the virtual msi, and stand-alone methods. The App-V 5.x client API is PowerShell based, while the 4.x client uses a proprietary sftmime interface.

Upon receiving the package, the client will download appropriate metadata, and possibly (dependent on both package and client configurations) some or all of the package components. The client is designed to utilize a streaming file system that operates much like local file paging activity. This allows for starting the application without all of the file(s) present in the cache locally. When the application requires a file portion not present, an operation called a stream-fault is performed that retrieves the needed file portion. The streamed package contents are cached by the client in memory for the duration of the application session, and may be retained in a local disk cache for future use.

User settings are stored in the local system itself using redirection to ensure that the cached copy of the application is not changed. In some cases, this allows for the deployment of applications that are not multi-user aware to be used on Remote Desktop Shared Host systems.

Capabilities specific to version 5.x

Version 5.x, in addition to being a redesign, added a number capabilities not previously available in the 4.x version. 5.0 Service Pack 2 added to these. They include:

Limitations of version 4.x

Similar technologies

Related Research Articles

<span class="mw-page-title-main">Windows 98</span> Microsoft personal computer operating system released in 1998

Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. The second operating system in the 9x line, it is the successor to Windows 95, and was released to manufacturing on May 15, 1998, and generally to retail on June 25, 1998. Like its predecessor, it is a hybrid 16-bit and 32-bit monolithic product with the boot stage based on MS-DOS.

Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while the other computer must run RDP server software.

<span class="mw-page-title-main">Diskless node</span> Computer workstation operated without disk drives

A diskless node is a workstation or personal computer without disk drives, which employs network booting to load its operating system from a server.

Microsoft Servers is a discontinued brand that encompasses Microsoft software products for server computers. This includes the Windows Server editions of the Microsoft Windows operating system, as well as products targeted at the wider business market. Microsoft has since replaced this brand with Microsoft Azure, Microsoft 365 and Windows 365.

<span class="mw-page-title-main">Windows Server 2008</span> Fourth version of Windows Server, released in 2008

Windows Server 2008, codenamed "Longhorn Server", is the fourth release of the Windows Server operating system produced by Microsoft as part of the Windows NT family of the operating systems. It was released to manufacturing on February 4, 2008, and generally to retail on February 27, 2008. Derived from Windows Vista, Windows Server 2008 is the successor of Windows Server 2003 and the predecessor to Windows Server 2008 R2.

As the next version of Windows NT after Windows 2000, as well as the successor to Windows Me, Windows XP introduced many new features but it also removed some others.

<span class="mw-page-title-main">Portable application</span> Type of computer program

A portable application, sometimes also called standalone, is a program designed to read and write its configuration settings into an accessible folder in the computer, usually in the folder where the portable application can be found. This makes it easier to transfer the program with the user's preferences and data between different computers. A program that doesn't have any configuration options can also be a portable application.

The booting process of Windows NT includes Windows NT 4.0, Windows 2000, Windows XP and Windows Server 2003. In Windows Vista and later, this process has changed significantly; see Windows NT 6 startup process for information about what has changed.

Application virtualization is a software technology that encapsulates computer programs from the underlying operating system on which they are executed. A fully virtualized application is not installed in the traditional sense, although it is still executed as if it were. The application behaves at runtime like it is directly interfacing with the original operating system and all the resources managed by it, but can be isolated or sandboxed to varying degrees.

The following is a timeline of virtualization development. In computing, virtualization is the use of a computer to simulate another computer. Through virtualization, a host simulates a guest by exposing virtual hardware devices, which may be done through software or by allowing access to a physical device connected to the machine.

Application streaming is a form of on-demand software distribution. In these scenarios, only essential portions of an application's code need to be installed on the computer: while the end user performs actions in the application, the necessary code and files are delivered over the network as and when they are required.

Windows Vista contains a range of new technologies and features that are intended to help network administrators and power users better manage their systems. Notable changes include a complete replacement of both the Windows Setup and the Windows startup processes, completely rewritten deployment mechanisms, new diagnostic and health monitoring tools such as random access memory diagnostic program, support for per-application Remote Desktop sessions, a completely new Task Scheduler, and a range of new Group Policy settings covering many of the features new to Windows Vista. Subsystem for UNIX Applications, which provides a POSIX-compatible environment is also introduced.

A roaming user profile is a file synchronization concept in the Windows NT family of operating systems that allows users with a computer joined to a Windows domain to log on to any computer on the same domain and access their documents and have a consistent desktop experience, such as applications remembering toolbar positions and preferences, or the desktop appearance staying the same, while keeping all related files stored locally, to not continuously depend on a fast and reliable network connection to a file server.

Remote Desktop Services (RDS), known as Terminal Services in Windows Server 2008 and earlier, is one of the components of Microsoft Windows that allow a user to initiate and control an interactive session on a remote computer or virtual machine over a network connection. RDS was first released in 1998 as Terminal Server in Windows NT 4.0 Terminal Server Edition, a stand-alone edition of Windows NT 4.0 Server that allowed users to log in remotely. Starting with Windows 2000, it was integrated under the name of Terminal Services as an optional component in the server editions of the Windows NT family of operating systems, receiving updates and improvements with each version of Windows. Terminal Services were then renamed to Remote Desktop Services with Windows Server 2008 R2 in 2009.

<span class="mw-page-title-main">Windows Search</span> Desktop search platform by Microsoft

Windows Search is a content index desktop search platform by Microsoft introduced in Windows Vista as a replacement for both the previous Indexing Service of Windows 2000 and the optional MSN Desktop Search for Windows XP and Windows Server 2003, designed to facilitate local and remote queries for files and non-file items in compatible applications including Windows Explorer. It was developed after the postponement of WinFS and introduced to Windows constituents originally touted as benefits of that platform.

Turbo is a set of software products and services developed by the Code Systems Corporation for application virtualization, portable application creation, and digital distribution. Code Systems Corporation is an American corporation headquartered in Seattle, Washington, and is best known for its Turbo products that include Browser Sandbox, Turbo Studio, TurboServer, and Turbo.

<span class="mw-page-title-main">VMware ThinApp</span> Application virtualisation software

VMware ThinApp is an application virtualization and portable application creator suite by VMware that can package conventional Windows applications so that they become portable applications by running on another operating system. According to VMware, the product has a success rate of about 90–95% in packaging applications.

In computing, virtualization or virtualisation is the act of creating a virtual version of something at the same abstraction level, including virtual computer hardware platforms, storage devices, and computer network resources.

InstallFree Inc. is a privately held company, backed by Ignition Partners and Trilogy Equity Partners, with headquarters in Stamford, CT and offices located worldwide. InstallFree specializes in Application Virtualization and delivery, based on their proprietary application virtualization technology that works on a variety of Microsoft Windows platforms such as Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008, Terminal Server and Citrix XenApp.

Novell ZENworks Application Virtualization is an application virtualization and portable application creation console by Novell that allows a user to build applications that run like an executable file.

References

  1. "A Farewell to SoftGrid" . Retrieved 2008-07-10.
  2. "Microsoft Application Virtualization 4.5 is Now Available in Beta!" . Retrieved 2007-11-13.
  3. "Microsoft Presspass - Microsoft Completes Acquisition of Softricity". microsoft.com. Archived from the original on 2007-06-18. Retrieved 2007-05-02.
  4. "RedmondMag - Microsoft Desktop Optimization Pack 2014 Now Available" . Retrieved 2014-07-04.
  5. "Microsoft Presspass - Microsoft Extends Virtualization Strategy, Outlines Product Road Map". microsoft.com. Retrieved 2007-05-02.
  6. "App-V 5.1 Security Considerations" . Retrieved 2015-04-18. "App-V 5.1 is not a security product and does not provide any guarantees for a secure environment."
  7. "Microsoft Product Lifecycle Search".
  8. "Trademarkia - Trademark Search".
  9. "Microsoft Server Application Virtualization".
  10. "TMurgent: App-V in Stand-alone Mode" (PDF).
  11. "Microsoft: The App-V 4.x SFT File Format Specification".
  12. "OSD Illustrated".
  13. "Open Software Description Proposal".
  14. "App-V Sequencing Guide for App-V 4.6 SP1 - Microsoft Corporation (.docx file)".
  15. "Sequencing Guide for App-V 5.0 - Microsoft Corporation (.docx file)".
  16. "App-V Sequencing Guide - Microsoft Corporation (.docx file)" . Retrieved 2018-03-13.
  17. "How To Use Dynamic Suite Composition | Microsoft Docs". Technet.microsoft.com. 2016-06-16. Retrieved 2018-03-13.
  18. Trond Eirik Haavarstein (27 May 2013). "Long Live App-V 5 – Application Streaming is Dead" . Retrieved 2014-06-06.

Further reading