While most 32-bit and 64-bit applications run “as is” on Windows Terminal Services, some do not perform as expected due to differences in the platform between Vista and Windows 2008 Terminal Services:
1. Multiple users – Issues related to maintaining user isolation for privacy/security.
2. Concurrent access by several users – Issues related to concurrent access/modification of data/resources, etc.
3. Application deployment – Precise deployment in a multi-user scenario is very important since you want to make sure that the application’s user specific data/resources are isolated and system wide data/resources are protected.
4. Remote devices – Running applications remotely requires Windows to handle your client devices and enable them to work with the application that is actually running on the server. This results in a somewhat different experience as compared to local devices.
5. Performance – Using your application over a limited bandwidth connection and running it on a server shared by multiple users mandates careful design for performance on TS.
The TS Programming Guidelines provide information on how to design your application to ensure that it runs smoothly on Terminal Services and provides a rich, seamless, and integrated experience to your end users.
While these guidelines have been written for Windows 2008 Terminal Services, they are also applicable to Windows 2003 Terminal Services. Moreover, these are general good programming guidelines that benefit application design even in non-TS specific scenarios such as Fast User Switching.