Application Virtualization 4.5 For Terminal Services: White Paper Summary
Application Virtualization 4.5 For Terminal Services: White Paper Summary
5 for
Terminal Services
Copyright
Complying with all applicable copyright laws is the responsibility of the user.
Without limiting the rights under copyright, no part of this document may be
reproduced, stored in or introduced into a retrieval system, or transmitted in any
form or by any means (electronic, mechanical, photocopying, recording, or
otherwise), or for any purpose, without the express written permission of
Microsoft Corporation.
Microsoft, Windows, and Terminal Services are trademarks of the Microsoft group
of companies.
Roaming Profiles....................................................................................................9
Mandatory Profiles................................................................................................10
Folder Redirection...................................................................................................10
User-Based Targeting............................................................................................15
Computer-Based Targeting.....................................................................................15
Streaming Methods...............................................................................................15
SFTMIME...........................................................................................................15
More Information........................................................................................................22
Overview
Microsoft Application Virtualization (App-V) for Terminal Services (TS) allows
organizations to realize the benefits of App-V for desktops on their terminal
servers. This document will explain the setup and configurations for
implementing App-V for Terminal Services.
Server sprawl is a costly issue for organizations that rely on Terminal Services. To
avoid application conflicts, applications must undergo significant testing to
determine which applications will conflict and, therefore, must be separated and
run on different terminal server silos—a time-consuming and costly process.
Running multiple separate terminal servers for each application routinely results
in servers being underutilized because each one is locked into a specific
configuration, capable of serving only a limited set of non-conflicting applications,
typically using just 25 percent of capacity. Often, 20 servers are required to
support 1,000 users. Microsoft App-V for Terminal Services completely changes
this situation.
The Terminal Services environment (many users sharing a single server or
servers, but with individual desktops and applications), is different from a desktop
environment (one user utilizing a single client OS resources and applications).
However, the benefits of App-V translate into the Terminal Services environment.
These benefits include:
• Consolidate Servers and End Server Siloing, Increasing Server
Farm ROI: App-V's application virtualization allows most applications to
run alongside any other—even applications that normally conflict, multiple
versions of the same application, and many applications that previously
could not run under Terminal Services. This eliminates the need for server
silos and significantly improves server utilization. As a result, the number
of servers needed is much lower, operational costs for managing the
remaining servers are reduced, and the server farm ROI is increased.
• End Application Conflicts and Regression Testing: By eliminating the
need to permanently install applications on servers, and shielding the
operating system and applications from changes created when installed
applications run, Microsoft App-V for Terminal Services prevents problems
that hinder deployments. The need to perform lengthy regression testing is
also significantly reduced.
• Accelerate Application Deployment: Applications that use App-V
typically only need to be packaged once for desktop or Terminal Services
platforms. However, the packages should be tested on all target platforms
to ensure compatibility. This reduces the need for "double packaging" or
Assumptions
The content in this guide assumes that the reader is familiar with Terminal
Services technology and Microsoft App-V, and is planning or evaluating the use of
App-V on Terminal Services.
Installing the App-V Terminal Services Client is no different than installing other
applications on a terminal server. Installing applications on a terminal server
requires using install mode for the terminal server.
Terminal Services Install Mode
As mentioned above, installing an application on a terminal server requires
placing it into install mode. In both Windows Server® 2008 and Windows Server
2003 the following command will switch the terminal server into install mode.
From a Command Prompt on the terminal server with no users logged in, execute:
• Prior to installation: change user /install
• Upon completion of install: change user /execute
• Query the current mode of terminal server: change user /query
The corresponding GUI can be used to properly install applications on a terminal
server.
Windows Server 2008
On Windows Server 2008 an application can be installed on a terminal server by
going to Control Panel | Programs and choosing Install Application on a
Terminal Server. Then follow the wizard to install the App-V Client.
Windows Server 2003
On Windows Server 2003 an application can be installed on a terminal server by
going to Control Panel | Add or Remove Programs | Add New Programs
and select CD or Floppy.
Installing the App-V Terminal Services Client requires planning of the client
configuration. This isn’t any different than the App-V Windows® Desktop Client,
but some of the settings require additional consideration for deployment on a
terminal server. The following settings should be carefully considered when
planning an App-V Terminal Services install. Additional information is available in
the App-V Application Publishing and Client Interaction Whitepaper located at:
http://go.microsoft.com/fwlink/?LinkId=127120 and the App-V Planning and Deployment
Guide at: http://go.microsoft.com/fwlink/?LinkId=122063.
• Global Data Location: This location is the default store of the sftfs.fsd
file or client cache, along with other App-V files. The App-V file system
cache can be moved independently of the global data location. Because
the cache file can be quite large, consider placing it in an alternate location
from the default (c:\Documents and Settings\All Users\Documents on
Windows XP and Windows Server 2003 and c:\users\public\public
documents on Windows Vista and Windows Server 2008).
• Preferred Drive Letter: This setting determines the drive letter that will
be used by the App-V Client to mount the virtual file system. If the drive
letter is changed from the default (Q:), then it should be set consistently on
all App-V Clients and should match the drive letter that is assigned to the
second disk partition on a sequencing workstation (e.g., S:).
• User-specific Data location: This setting determines where the App-V
Client stores user-specific changes to virtual application packages (e.g.,
usrvol_sftfs_v1.pkg). By default, the App-V TS Client will place the user-
specific data in the AppData folder of the user’s profile. If mandatory TS
profiles are used, then the AppData folder of TS user profiles should be
redirected to a network location (e.g., a subdirectory within the user’s TS
home directory).
• Cache Size Settings: The App-V Client (Windows desktop or Terminal
Services) allows the cache (sftfs.fsd file) to be configured in one of two
ways:
○ Use maximum cache size: Sets the cache to an absolute
maximum size.
○ Use free disk space threshold: Sets the cache to grow as long as
there is available disk space on the terminal server.
The settings above should be considered for all terminal server client
installations. It is recommended to carefully plan and standardize on as many of
these settings as possible to ensure the most cost-effective support for terminal
servers.
Profile Types
Mandatory profiles give administrators more control over the user environment
by ensuring that any user changes that were made will not be saved and those
changes cannot cause support incidents for the help desk. Mandatory profiles
also speed up logoff times as no data is being saved to the network.
Folder Redirection
The reasons for folder redirection are different for mandatory and roaming
profiles, but they should be considered when planning a Terminal Services
solution with or without App-V.
As mentioned previously, mandatory profiles allow users to edit the profile
settings and data, but those changes are not saved for subsequent use. This can
be problematic and generate many support calls if the user saves a file to a data
location that is part of the profile and then logs off. The file will not be saved and
upon the next logon the data file which is not part of the mandatory profile will be
lost. The use of Group Policies with folder redirection can be used to redirect data
locations to separate network locations to which the user can save data.
With roaming profiles a user can make changes to settings and data stored in the
profile, but the data and settings have to be copied back to the network location
during logoff and copied back to the local profile upon logon. This can increase
the size of profile storage on a local terminal server and the network location, and
slow down the logon and logoff process for users. Group Policies with folder
redirection can be used to redirect data locations that can increase the size of the
Terminal servers often host applications for many users. In many cases, not all
users should be able to run all applications on the terminal server. With user-
based publishing the applications will only appear for the users to which they
were published. However, when computer-based publishing methods are used,
any application that has been published to a computer would be available to all
users of the terminal server. This is often not the desired result and will need to
be considered when planning a Terminal Services environment with App-V.
Also, the active upgrade feature is a very compelling feature of App-V. However,
on a terminal server all users of an application package would have to close all
applications in a package for the active upgrade feature to work. On a Windows
desktop environment, only one user is logged in at a time and that user would
simply have to close and reopen the application.
The delivery method used depends on the version of terminal server, the features
that are going to be implemented, and to what purpose terminal servers are
deployed. In the previous table there are several methods of delivering virtual
applications to a terminal server.
Recommendations
Several key factors will be present when deciding which deployment method
should be used. The following recommendations should be implemented when
choosing a deployment method to achieve the most favorable results:
Preload App-V
Deployment Method Upgrade Process
Cache Capability
Full Infrastructure w/ •
Version updated on App- No
RTSP(s) V Management Server
• Terminal server placed in
maintenance mode
• First open of package will
upgrade
Full Infrastructure w/ • Version updated on App- No
HTTP(s) or File V Management Server
Streaming • Terminal server placed in
maintenance mode
• Publishing refresh
• First open of package will
upgrade
Stand Alone Client • Terminal server placed in Yes*
(MSI) maintenance mode
• New version of package
MSI executed
SCCM R2 • Terminal server placed in No*
maintenance mode
• SCCM R2 advertisement
executes
SFTMIME • Terminal server placed in Yes*
maintenance mode
• Updated package
published with SFTMIME
* The use of MSI, SCCM R2, and SFTMIME can be configured to preload
the cache with different results. By default the MSI-based installation
will load the package into the App-V cache, but can be configured for
streaming. SCCM R2 has two delivery options: streaming and download
and execute. Neither of them preload the package into the App-V cache,
however download and execute will place it locally on the terminal
server and will be loaded to the App-V cache on first use. SFTMIME can
be configured to load the package and would be recommended for
terminal servers that use Full Infrastructure or manual publishing for
preloading the App-V cache.
User-Based Targeting
Targeting users has been the standard feature with App-V Full Infrastructures.
This deployment method works well with a terminal server configured to deliver a
remote desktop to the user. Pre-caching of applications in user-based targeting
would require the use of SFTMIME or SFTTRAY to ensure that applications are
completely loaded into cache prior to users connecting to sessions and using the
virtualized applications.
Computer-Based Targeting
Targeting computers was introduced with the previous version of App-V. The
ability to create MSIs for deployment provides a useful option for deploying
applications to terminal servers because it can be configured to pre-load the App-
V cache. MSIs, SCCM, and SFTMIME (with /GLOBAL switch) can all be used with
computer based targeting. Computer based targeting is limited in the fact that
virtual applications deployed to computers are available to any user that logs on
to a session.
Streaming Methods
The streaming method of deployment has the benefit of supporting an active
upgrade or at least the differential streaming available to update only the
changed data when upgrading. These methods are normally referred to as Full
Infrastructure. All of the delivery methods support a streaming concept with the
proper configuration. The use of streaming methods for delivery will require that
virtual applications are pre-cached to achieve optimal results and will need to be
done through scripting using SFTMIME or SFTTRAY. The Full Infrastructure
provides user-based targeting that works well with a remote desktop delivery with
Terminal Services.
SFTMIME
SFTMIME can operate as a delivery method that can load the package or stream
the package, target users, or target computers. SFTMIME requires writing scripts
to perform the addition of packages for the selected target. The packages
manifest.xml file contains the publishing information. SFTMIME as the delivery
method can be configured to support the remote desktop and RemoteApp
features of Terminal Services. More information is available on using SFTMIME to
publish packages in the Extensibility Today Before the SDK whitepaper at:
http://go.microsoft.com/fwlink/?LinkId=127120.
Terminal Services Web Access is a role service in the Terminal Services role that
lets you make TS RemoteApp programs, and a connection to the terminal server
With TS Web Access, users can visit a Web site (either from the Internet or from
an intranet) to access a list of available TS RemoteApp programs. When they start
a TS RemoteApp program, a Terminal Services session is started on the Windows
Server 2008-based terminal server that hosts the TS RemoteApp program.
Terminal Services Gateway is a role service in the Terminal Services server role of
Windows Server 2008 that allows authorized remote users to connect to
resources on an internal corporate or private network, from any Internet-
connected device. The network resources can be terminal servers, terminal
servers running TS RemoteApp programs, or computers with TS Remote Desktop
enabled.
Configuring a Windows Server 2008 terminal server with the App-V Terminal
Services Client brings many benefits to the environment that has been listed
previously in this document. There are some considerations that must be made
when choosing between the Remote Desktop and RemoteApp features of
Terminal Services for Windows Server 2008.
Terminal Services Remote Desktop vs. RemoteApp with App-V
Choosing between TS Remote Desktop and TS RemoteApp will depend on the
desired result. If Terminal Services is being used to present a user with an entire
desktop environment with all of the user’s applications, then TS Remote Desktop
is an easy choice. If Terminal Services is being used to make an application or a
few applications available seamlessly to a user’s local desktop and applications,
then TS RemoteApp becomes more compelling. TS RemoteApp presents the
applications to the user in a way that they appear to be locally installed, whereas
TS Remote Desktop will require a user to use a separate desktop to access
applications hosted on the terminal servers.
Terminal Services Remote Desktop Considerations
When using TS Remote Desktop, App-V behaves very similar to the Windows
desktop client. A terminal server or farm of terminal servers could host many
users, but with different virtual applications published to different users. This can
be achieved with an App-V full infrastructure and user-based targeting. This
option requires much less administrative overhead than the same option using TS
RemoteApp. However, if an organization has implemented computer targeting of
virtual applications with TS Remote Desktop, any user that is connected to a
terminal server would have access to all of the virtual applications that have been
deployed to it.
NOTE: If using SCCM to deploy virtual applications to terminal servers, computer
targeting must be used.
Terminal Services RemoteApp Considerations
By using TS RemoteApp with App-V it is possible to deploy virtual applications to
users. However, configuring TS RemoteApp will require additional administrative
steps and is not recommended. Using TS RemoteApp with computer-based
targeting, administrators can control which applications are available to individual
users by only deploying the RDP or MSI files to the appropriate users. This will
achieve a similar functionality as the TS Remote Desktop with user-based target,
but will have the added benefit of integrating the application in the user’s local
desktop.
The following steps can be completed to acquire the correct icon from a virtual
application for use with TS RemoteApp.
1. Publish the virtual application to a user on the terminal server.
2. At a command prompt run the following command:
SFTTRAY.EXE /exe cmd.exe /launch “Application Name”
NOTE: The “/launch “<Name of Program + Version>” can be found
by looking at the details of a shortcut to a virtual App-V
application (e.g., /launch “Microsoft Office Word 2003”).
Alternatively the App-V Client Management console, SFTMIME, or
the registry can be used to find the correct “<Name of Program +
Version>”
3. Once the command prompt is open, copy the EXE or DLL for the application
that has the embedded icons in it to the location on the terminal server
(e.g., c:\AppVEXEs).
Next, if using a full infrastructure (user-based targeting with a Management
Server publishing) with TS RemoteApp, the following steps must be completed:
1. Launch the Add RemoteApp Programs wizard from the Actions in the
TS RemoteApp Manager located in Administrative Tools | Terminal
Services.
2. Click Browse in the Choose programs to add to the RemoteApp
Programs List screen.
To find out about the Windows Server 2008 Terminal Services Resource Kit, go to:
http://www.microsoft.com/learning/en/us/Books/12716.aspx