MSI (Microsoft Windows Installer) Behavior based on Terminal Server Versions 2003 and 2008

Symptoms

Users not in the local administrative group may not be able to install, repair, or uninstall applications in Terminal Sessions on Windows 2003 Server.  The following information describes the expected behavior as well as some comparisons to Windows Server 2008.  This is not an exhaustive list.

Resolution

 

Native MSI versions are 3.1 for Windows Server 2003, 4.0 for Windows Server 2008 and 5.0 for Windows Server 2008 R2 (Windows 7 Server).  The behavior will be the same regardless of the version of the MSI version.

Window 2003

As the following flow diagram shows the Windows 2003 installation is limited.  There are only two scenarios for which MSI actions can succeed.

  • Installation initiated on the console – session zero
    • This also assumes the user has sufficient rights to perform the requested action which can include writing to the registry and file system.
  • If not initiated from the console the following must all be true
    • The user is an administrator
    • The Enable TSRemote policy set.

msiforwin2003.png

 

Window 2008 and Higher

As the following flow diagram show the Windows 2008 and higher

  • If the User is a Local Administrator
    • If UAC is enabled and the installation is managed, then the installation must be run from the Console.
    • If the installation is not being run from the Console UAC should be disabled and/or the installation is not managed.
  • If the User is NOT a Local Administrator
    • The only failure path would be NOT Managed and UAC Disabled.

      Another way of saying the same thing is the following are successful scenarios:
      • Local Administrator -> Managed -> TSMSI Enabled (available starting with Windows Server 2008 R2)
      • Local Administrator -> Managed -> if TSMSI Enabled is not enabled must be run on the Console
      • Local Administrator -> Not Managed -> UAC Enabled

MSIforWin2008.png

More Information

 

Additional notes, subject to change without notice.  Some information includes features that may or may not be included in products not yet released:

 

Windows Installer RDS (Remote Desktop Services) Compatibility

Windows Installer RDS Compatibility is a new feature included with Remote Desktop Services in Windows Server 2008 R2. With Remote Desktop Services in Windows Server 2008 R2, per user application installations are queued by the RD Session Host server and then handled by the Windows Installer.

 

In Windows Server 2008 R2 you can install a program on the RD Session Host server just like you would install the program on a local desktop. Ensure, however, that you install the program for all users and that all components of the program are installed locally on the RD Session Host server.

 

Windows Installer RDS Compatibility is enabled by default. You can disable this feature by configuring the following registry entry to 0: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal Services\TSAppSrv\TSMSI\Enable.  This might be moved to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\TSAppSrv\TSMSI\Enable

 

Why is this change important?

Prior to Remote Desktop Services in Windows Server 2008 R2, only one Windows Installer installation was supported at a time. For applications that required per user configurations, such as Microsoft Office Word, an administrator needed to pre-install the application, and application developers would need to test these applications on both the remote desktop client and the RD Session Host server. Windows Installer RDS Compatibility queues the installation requests and processes them one at a time.

Reference -  http://technet.microsoft.com/en-us/library/dd560667(WS.10).aspx

 

 

Properties

Article ID: 2002357 - Last Review: Sep 22, 2009 - Revision: 1

Feedback