Настройка Citrix Metaframe под Windows 2000 Termanal Services

         

Теневой регистр


Сегодня большинство приложений при установке добавляют значения в ветвь реестра HKEY_CURRENT_USER. Как говорилось ранее, перевод системы в режим инсталляции либо с командной строки, либо через Add/Remove Programs, указывает системе следить за изменениями файлов INI и реестра. Эти изменения сохраняются в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install, а INI файлы, устанавливаемые в в каталоги windows или windows\system

записываются в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles. Для понимания разных букв дисков и каталогов, упоминаемых в следующих разделах, мы будем использовать следующие определения:

    <HomeDrive> (Домашний драйв)

    Используется для обозначения буквы диска, указанного в профиле объекта User в компоненте

    Active Directory Users and Computers

  • <HomeShare>

    Используется для обозначения UNC, назначенному Домашнему диску.

  • <RootDrive> Используется для обозначения буквы драйва, который заменяется на <HomeDrive> и <HomeShare>.

  • <HomeSpace>

    Общий термин, используемый для обозначения места размещения пользовательских файлов и установок.

При регистрации в системе нового пользовтеля, система проверяет его каталоги windows и windows\system

в поиске файлов INI, записанных в ...\Compatibility\IniFiles и копирует эти файлы, если они не существуют или имеются более свежие копии, из системного каталога сервера в пользовательский <HomeShare>. Для каждого пользователя система автоматически создает отдельный <HomeShare> и каталоги \windows и \windows\system

для хранения файлов INI, DLL и прочих файлов, нужных приложению. Если в системном каталоге \winnt существуют более свежие копии, старые переименовываются с расширением .CTX, а новые копируются в полдьзовательские \windows и \windows\system.

При запуске проиложения оно может обращаться к ключам реестра, которые не существуют в пользовательском контексте HKEY_CURRENT_USER. В этом случае система проверяет HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install, и если там есть нужный ключ, он копируется в правильное место в ветви HKEY_CURRENT_USER. Если приложение использует вызов API GetPrivateProfileString() для доступа к INI-файлу, который не существует в пользовательском каталоге \windows, то система будет искать его в

%systemroot%. Если файл найден, он копируется в <HomeShare> пользователя в каталог \Windows.



Содержание раздела