Instalowanie programów na serwerze terminalowym Windows

Obsługa serwera terminalowego Windows czasami wymaga od administratora znajomości kilku dodatkowych sztuczek. Jedną z nich jest instalacja programów, tak aby zadziałała w środowisku wielosesyjnym. Choć w większości przypadków dodanie nowej aplikacji poprzez uruchomienie samego instalatora lub dodanie jej z poziomu Add/Remove Programs (Dodaj lub Usuń Programy) są wystarczające, to niektóre mogą wymagać czegoś „ekstra”. Dotyczy to instalatorów bardziej złożonych lub napisanych w specyficzny sposób (np. amatorsko :)).

Oto kilka „złotych” zasad, które pomogą Wam dodawać aplikacje na serwerze terminalowym. Z góry jednak zaznaczam, iż istnieje wiele takich, które w środowisku wielosesyjnym zwyczajnie nie zadziałają.

Po pierwsze, oprogramowanie najlepiej instalować po dodaniu roli Terminal Serwera. Jeśli tę rolę dodamy na zwykłym serwerze, to może okazać się, że zainstalowane wcześniej oprogramowanie nie zadziała w środowisku terminalowym.

Po drugie, zaleca się, aby w trakcie instalacji programów inni użytkownicy nie byli zalogowani.

Dla administratora mniejszych środowisk, pozbawionych redundancji (np. farma serwerów terminalowych z której można w miarę bezproblemowo wypiąć jeden z nich) oznacza to nie raz długie boje o pozwolenie na niedostępność serwera, lub pracę w niedziele o 3 rano 🙂 Znacie to?

Po trzecie, dobrze jest instalować oprogramowanie na koncie lokalnego administratora zamiast na koncie domenowym. Tu też główną rolę często odgrywa twórca instalatora.

Czwartą zalecaną zasadą przy instalowaniu programów na serwerze terminalowym jest przełączenie go w odpowiedni tryb. Programy instalujemy w trybie „Install”, a uruchamiamy w trybie „Execute”.

Serwery terminalowe posiadają dwa tryby: „install” i „execute” (instalacyjny i wykonawczy). To, w którym trybie aktualnie pracuje serwer możemy sprawdzić poleceniem:

change user /query

Tryb „install” dedykowany jest właśnie pod instalowanie programów i sprawia, że program zostanie zainstalowany w katalogu systemowym zamiast w profilu konta, na którym go instalujemy ( %homepath%\windows ). Uruchamia się go poleceniem:

change user /install

Poza przekierowaniem plików programu do katalogu systemowego, tryb „install” sprawia, że zmiany, które instalator normalnie zapisałby  w kluczu

HKEY_CURRENT_USER

zostają zapisane w:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install

Wartości z tego klucza są następne skopiowane do klucza HKEY_CURRENT_USER każdego użytkownika, który się zaloguje.

Zmianę trybuna „exacute” wykonamy poleceniem:

change user /execute

Poprawne użycie trybów „install” i „execute” to podstawa sukcesu. Pozwala nam to uniknąć sytuacji, w której aplikacja będzie niedostępna dla zdalnych użytkowników i zadziała tylko na koncie tego użytkownika, który ją instalował.

Może się zdarzyć, że problem będzie występował już na etapie instalacji i wcale nie będzie spowodowany tym, że nasz serwer ma rolę Terminal Serwera, dlatego pozwolę sobie przypomnieć wcześniejszy wpis o błędzie “Invalid Win32 application” i kompatybilności w systemach Windows.

Zapraszam do komentowania i odwiedzania naszego Bloga.

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

1 Response

  1. Tomek napisał(a):

    Witam. Czy zna ktoś jakis sposób na wykonanie raportu ktory zobrazuje kto i jak często uzywa danej aplikacji na serwerze terminalowym?

Dodaj komentarz