Wondering if there's any guidelines that should be followed when writing an application that should work not only on a plain ol' non-networked computer but also on a computer/network that is setup with Active Directory (or some other directory service) and/or Terminal Services? Anything I should look out for, be aware of, etc?
views:
122answers:
3Microsoft has renamed Terminal Services to 'Remote Desktop Services' so searching and looking around MSDN my not be as constructive using the old terminology. I'd start having a look around Remote Desktop Services Programming Guidelines found here:
http://msdn.microsoft.com/en-us/library/aa383490(VS.85).aspx
On the AD site a starting point would be here:
[http://msdn.microsoft.com/en-us/library/ms682458(VS.85).aspx][2]
The most important things to be aware of: On a Terminal Server users are not admins, they have no rights to:
- Write in Program files folder
- Register ActiveX controls
- Write into (ini files) in Windows(\System32)
- HKLM hive of the registry
Some other points: - Certain API's like getting the Windows directory will return redirected results (in this case the windows subfolder of the homedrive) UNLESS you mark your executable as Terminal Server aware - Your application must not rely on settings in HKCU that prevent startup when not present - Multiple users might use your app concurrently so each user must be able to have their own settings (in HKCU)