[Setup]: TerminalServicesAware

Valid values:

Default value:

yes
Description:

Specifies whether the compiler should set the "Terminal Services aware" flag in the headers of the Setup and Uninstall programs. This feature is new to version 5.1.7 and defaults to yes; previous versions never set the flag.

Most importantly, the "Terminal Services aware" flag affects the behavior of the {win} constant (and GetWinDir support function) on servers with Terminal Services installed in application mode.

When the flag is set, {win} will consistently return the system's real Windows directory, typically "C:\WINDOWS", just as on systems that do not have Terminal Services installed.

When the flag is not set, Windows runs the program in compatibility mode, where {win} may return either the real Windows directory or a user-specific Windows directory, such as "C:\Documents and Settings\<user name>\WINDOWS". Which one you get depends on the name of the program's EXE file and how it is launched. If the program is named setup.exe or install.exe, or if it is launched from the Add/Remove Programs Control Panel applet, then Windows will put the system in "install mode", which effectively makes the program (and all other programs running in the session) behave as if the "Terminal Services aware" flag were set. Otherwise, the program is treated as a legacy application and is given a private Windows directory. (This is true even if the user running the program has full administrative privileges.)

Because the behavior that results from setting TerminalServicesAware to no is inconsistent and hard to predict, it is recommended that you use the default setting of yes. Only use no as a temporary fix if you encounter troubles on systems with Terminal Services after upgrading from a previous Inno Setup version.