128Kb*8 pamięci powinno wystarczyć każdemu :-) (B. Gates 1981)

środa, 3 marca 2010

Polecenie change user

Share
Zmienia ustawienie mapowania pliku .ini.
Składnia
change user {/execute | /install | /query}
Parametry
/execute
Włącza mapowanie pliku .ini do katalogu macierzystego. Jest to ustawienie domyślne.
/install
Wyłącza mapowanie pliku .ini do katalogu macierzystego. Wszystkie pliki .ini są odczytywane z katalogu systemowego i w nim zapisywane. Instalując aplikacje na serwerze terminali, należy wyłączyć mapowanie pliku .ini.
/query
Wyświetla bieżące ustawienie mapowania pliku .ini.
/?
Wyświetla Pomoc w wierszu polecenia.
Spostrzeżenia
Przed zainstalowaniem aplikacji należy użyć polecenia change user /install, aby utworzyć pliki .ini aplikacji w katalogu systemowym. Te pliki są używane jako kopie wzorcowe dla plików .ini specyficznych dla użytkownika. Po zainstalowaniu aplikacji należy użyć polecenia change user /execute, aby przywrócić standardowe mapowanie pliku .ini.
Gdy aplikacja zostanie uruchomiona po raz pierwszy, zacznie szukać swoich plików .ini w katalogu macierzystym. Jeżeli pliki .ini nie zostaną znalezione w katalogu macierzystym, lecz w katalogu systemowym, Usługi terminalowe skopiują pliki .ini do katalogu macierzystego, zapewniając w ten sposób każdemu użytkownikowi unikatową kopię plików .ini aplikacji. Wszystkie nowe pliki .ini są tworzone w katalogu macierzystym.
Każdy użytkownik powinien mieć unikatową kopię plików .ini aplikacji. Zapobiega to sytuacjom, w których różni użytkownicy mogą używać niezgodnych konfiguracji aplikacji (na przykład innych katalogów domyślnych lub innych rozdzielczości ekranu).
Gdy system pracuje w trybie instalacyjnym (change user /install), występuje kilka zjawisk. Wszystkie tworzone wpisy rejestru są gromadzone w kluczu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\TerminalServer\Install. Klucze dodawane do sekcji HKEY_CURRENT_USER są kopiowane do klucza \SOFTWARE, a klucze dodawane do sekcji HKEY_LOCAL_MACHINE są kopiowane do klucza \MACHINE. Jeżeli aplikacja odwołuje się do katalogu Windows, używając wywołań systemowych, takich jak GetWindowsDirectory, serwer terminali zwraca systemowy katalog główny. Jeżeli jakiekolwiek wpisy plików .ini są dodawane przy użyciu wywołań systemowych, takich jak WritePrivateProfileString, to wpisy te są dodawane pod systemowym katalogiem głównym.
Gdy system powróci do trybu wykonawczego (change user /execute) i aplikacja spróbuje odczytać nieistniejący wpis z sekcji HKEY_CURRENT_USER, to Usługi terminalowe sprawdzą, czy istnieje jego kopia w kluczu \TerminalServer\Install. Jeżeli kopia istnieje, to klucze są kopiowane do odpowiedniej lokalizacji w sekcji HKEY_CURRENT_USER. Jeżeli aplikacja próbuje odczytywać nieistniejący plik .ini, to Usługi terminalowe szukają tego pliku w systemowym katalogu głównym. Jeżeli plik .ini istnieje w systemowym katalogu głównym, to jest kopiowany do podkatalogu \Windows w katalogu macierzystym użytkownika. Jeżeli aplikacja odwołuje się do katalogu Windows, to serwer terminali zwraca podkatalog \Windows z macierzystego katalogu użytkownika.
Podczas logowania użytkownika Usługi terminalowe sprawdzają, czy systemowe pliki .ini są nowsze niż pliki .ini na komputerze użytkownika. Jeżeli wersja systemowa jest nowsza, pliki .ini użytkownika są zastępowane lub scalane z nowszą wersją. Zależy to od tego, czy bit INISYNC (0x40) jest czy też nie jest ustawiony dla danego pliku .ini. Nazwa poprzedniej wersji pliku .ini użytkownika jest zmieniana na Inifile.ctx. Jeżeli wartości w rejestrze systemu występujące w kluczu \TerminalServer\Install są nowsze niż w wersji dla użytkownika występującej w sekcji HKEY_CURRENT_USER, to wersja kluczy użytkownika jest usuwana i zastępowana nowymi kluczami pochodzącymi z klucza \TerminalServer\Install.

Brak komentarzy:

Prześlij komentarz

 
www.Webmaster.M106.COM