Archive: Installer for Terminal Servers


Installer for Terminal Servers
Hi,

i'm in the process to find a way to create an installer for Terminal Servers. Problem seems to be, that %WINDIR and %FONTS Constants are not containing the System folders like

C:\WINDOWS and C:\WINDOWS\FONTS.

On a terminal Server i get the personal folders

C:\Documents and Settings\<user>\Windows ..

I also have tried a call of Kernel32::GetWindowsDirectory

only kernel32::GetSystemWindowsDirectoryA

gives me the correct C:\WINDOWS\System32..

I also found some articles on MSDN.. and a File Header problem that have to be set..

IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE

I never heard about this before.. but it seems to be important in a Terminal Server environment?

Can someone help me? How can i get the Windows Folder on a Terminal Server correctly?


Hi

This is the usual terminal-server behaviour.

Terminal-server is an approach to use windows as a multi-user system: If an application writes to an ini-file which is located in the windows-folder, windows writes it to the %userprofile%\windows folder. If it would not do this, there would soon be a giant mess because every user writes to the same ini-file.

When you start a setup-routine on a terminal server and this program is named setup.exe, windows says that you should install in "install-mode".

Maybe your install file is not named setup.exe, so you could execute the command "change user /install" before you start and "change user /execute" after installation.

You can get further information in the help files of windows.

Hope this helps.

Have a nice day.
-Bruno.


Wow!
This works. I also have searched for this at MSDN now.. and found it. (Only with your information)

Thank you very much for this quick respond.

Now my installer works fine on a Terminal Server! :-))


Maybe a good feature request for NSIS would be to have a installer attribute named TerminalServerAware which could be set to "yes" in order to have the IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE flag in the generated EXE header.