Joschrigon
28th June 2005 21:51 UTC
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?
bholliger
29th June 2005 08:15 UTC
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.
Joschrigon
29th June 2005 19:14 UTC
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! :-))
saivert
30th June 2005 06:48 UTC
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.