터미널 서버 응용 프로그램 통합 정보

기술 자료 번역 기술 자료 번역
기술 자료: 186498 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR186498

중요: 이 문서에서는 레지스트리를 편집하는 방법을 설명합니다. 레지스트리를 편집하기 전에 문제 발생 시 해당 레지스트리를 복원하는 방법을 알고 있어야 합니다. 복원 방법에 대한 자세한 내용은 Regedit.exe의 "레지스트리 복원" 도움말 항목 또는 Regedt32.exe의 "레지스트리 키 복원" 도움말 항목을 참조하십시오.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 다중 사용자용 응용 프로그램을 터미널 서버 컴퓨터에 설치하는 방법을 설명합니다. 이 문서에는 응용 프로그램 통합 지침, 설치 및 실행 모드에 대한 설명, 응용 프로그램 제어를 위한 레지스트리 설정이 포함되어 있습니다.

추가 정보

응용 프로그램을 설치하려면 터미널 서버 컴퓨터에 관리자로 로그 온 합니다. 응용 프로그램을 설치하기 전에 SystemRoot 디렉터리(터미널 서버를 설치할 디렉터리)와 %SystemRoot%\System32 디렉터리에 있는 SYS 및 DLL 파일을 백업합니다. 이렇게 하는 이유는 일부 응용 프로그램이 자신의 DLL을 이 디렉터리에 넣을 수 있기 때문입니다.

이러한 파일을 백업할 수 없으면 다음 명령을 입력합니다.

   DIR\%SystemRoot%\System32 > LPT1:

-또는-
   DIR\%SystemRoot% \System32 > Sys32dir.txt

-및-

   DIR\%SystemRoot%\System32 > LPT1:

-또는-
   DIR \%SystemRoot% > Winntdir.txt


설치 과정에서 터미널 서버 운영 체제를 처리하는 원래의 터미널 서버 파일이 바뀌면 응용 프로그램 문제가 발생할 수도 있습니다. 설치가 완료되면 디렉터리를 비교하여 바뀐 파일이 있는 경우 원래의 파일을 다시 복사합니다.

응용 프로그램 통합

터미널 서버 환경에 응용 프로그램을 통합할 때는 다음 주요 사항을 고려해야 합니다.
  • 응용 프로그램 설치 및 구성
  • 응용 프로그램 네트워크 통신
  • 응용 프로그램 비디오 성능
일부 응용 프로그램은 단일 사용자 환경에서는 대체로 잘 작동하는 반면 터미널 서버 다중 사용자 분산 프레젠테이션 환경에서는 성능 저하나 응용 프로그램 비호환성 문제를 일으키는 특성을 가지고 있을 수 있습니다. 이러한 점을 알고 가능한 한 이러한 특성을 사용하지 않는다면 터미널 서버 환경에 응용 프로그램을 유연하게 통합하는 데 도움이 됩니다.

일반적으로 응용 프로그램을 선택하거나 개발할 때는 다음과 같은 응용 프로그램 지침을 따르는 것이 좋습니다.
  • Win16(16비트 Windows) 응용 프로그램보다 Win32(32비트 Windows) 응용 프로그램을 사용하는 것이 좋습니다. 터미널 서버에서는 "Win32상의 Win16(Win16 on Win32)"라는 프로세스를 통해 Win16 응용 프로그램을 실행하므로 Win16 응용 프로그램이 동급의 Win32 응용 프로그램보다 20% 이상 많은 자원을 소모합니다.
  • 올바른 Windows NT API를 사용하여 Windows INI 파일에 액세스해야만 터미널 서버의 INI 파일 동기화 기능이 올바르게 작동합니다.
  • 이벤트가 발생할 때까지 기다리지 않고 하드웨어 장치나 키보드를 폴링하는 응용 프로그램(주로 MS-DOS 응용 프로그램)은 시스템 성능을 저하시킬 수 있습니다. 키보드를 지나치게 폴링하는 MS-DOS 응용 프로그램은 DOSKBD 명령으로 조정할 수 있습니다. 가능하면 독자적인 코드를 개발하는 대신 Windows NT API를 사용합니다. 대부분의 Windows NT API는 다중 사용자 환경을 매끄럽게 지원하는 터미널 서버 MultiWin 향상 기능을 갖추고 있습니다.
  • 경로와 네트워크 식별자의 하드 코딩을 피합니다.
  • NetWare 응용 프로그램을 바인더리 모드로 실행할 수 있어야 합니다.
  • MS-DOS 그래픽은 터미널 서버 클라이언트에서 지원되지 않습니다.
  • 비트맵 기반 그래픽 대신 벡터 기반 그래픽을 사용합니다. 래스터 연산자를 사용하여 화면의 그래픽을 브러시 처리하면 최고의 성능을 얻을 수 있습니다.
  • VxD는 Windows NT 또는 터미널 서버 환경에서 지원되지 않습니다.
이러한 지침 중 일부는 다음 절에서 자세히 설명합니다.

응용 프로그램 설치 및 구성

터미널 서버와 같은 다중 사용자 환경에서는 모든 사용자가 다른 사용자의 기본 설정이나 데이터를 방해하지 않으면서 같은 응용 프로그램을 동시에 사용할 수 있어야 합니다.

가장 중요한 첫번째 단계는 각 사용자의 고유 홈 디렉터리(예: C:\Users\%Username%)를 지정하는 것입니다. 사용자 프로필에서 각 사용자의 기본 홈 디렉터리를 자동으로 만들 수도 있지만, 이렇게 하면 사용자 프로필이 매우 커져서 로그온 속도가 느려지고 시스템 자원 사용이 증가할 수 있습니다.

이 문제를 피하면서 응용 프로그램을 제대로 작동하려면 도메인 사용자 관리자를 사용하여 사용자마다 다른 홈 디렉터리를 지정합니다.

다른 홈 디렉터리를 사용하도록 기존 사용자를 구성하려면 다음과 같이 하십시오.
  1. 관리자로 로그온하고 도메인 사용자 관리자를 시작합니다.
  2. 도메인에 로그온한 상태에서 로컬 사용자를 변경하려면 사용자 메뉴에서 도메인 선택을 누른 다음 해당 사용자 계정이 있는 터미널 서버 컴퓨터의 이름을 입력합니다.
  3. 변경할 사용자를 선택합니다. 여러 사용자를 선택하려면 Shift 키를 누른 상태에서 위쪽/아래쪽 화살표 키를 사용합니다. 특정 그룹의 모든 사용자를 선택하려면 사용자 메뉴에서 사용자 선택을 누릅니다.
  4. 사용자 메뉴에서 등록 정보를 누릅니다.
  5. 프로파일을 누릅니다.
  6. 로컬 경로 옆의 옵션 단추를 누르고 다음 경로를 입력합니다.
          drive:\Users\%Username%

    여기서 "drive"는 터미널 서버가 설치된 드라이브(대개 C 드라이브)이고, "Users"는 시스템에서 홈 디렉터리용으로 만든 디렉터리입니다.

    참고: Users는 홈 디렉터리용으로 만든 디렉터리이지만 다른 디렉터리를 만들어 사용할 수도 있습니다.
  7. 확인을 눌러 사용자 등록 정보 대화 상자로 돌아갑니다.
  8. 확인을 눌러 도메인 사용자 관리자 주 화면으로 돌아갑니다.
MS-DOS와 OS/2 텍스트 응용 프로그램은 일반적으로 수정하지 않고 설치하여 사용할 수 있습니다. 키보드 폴링을 수행하는 MS-DOS 응용 프로그램의 경우 DOSKBD 명령을 사용하여 자원을 과도하게 소모하지 않도록 조정해야 할 수도 있습니다.

Windows 응용 프로그램은 종종 시스템 레지스트리나 INI 파일과 같은 Windows 기능을 사용합니다. 이러한 파일에 있는 정보 중에는 모든 사용자에게 동일하게 적용되는 정보와 사용자마다 다르게 적용되는 정보가 있는데, 사용자마다 다르게 적용되는 정보의 경우 응용 프로그램을 일부 사용자 지정이 필요할 수도 있습니다.

터미널 서버 환경에서 16비트 또는 32비트 Windows 응용 프로그램을 설치하는 방법에는 사용자별 설치와 글로벌 설치의 두 가지가 있습니다.

사용자별 설치

사용자별 설치는 특정 사용자가 자신이 사용할 응용 프로그램을 설치하는 것을 의미합니다. 기본 설치 방법은 사용자별 설치입니다. INI 파일이나 응용 프로그램에서 기본 Windows 디렉터리에 넣으려고 하는 기타 파일은 해당 사용자의 홈 Windows 디렉터리에 설치됩니다. 응용 프로그램이 네트워크나 공유 디렉터리에 설치되어 있어도 다른 사용자가 해당 응용 프로그램을 실행하는 데 필요한 모든 DLL과 INI 파일에 액세스하지 못하는 경우가 있습니다. 이런 경우에는 해당 사용자가 사용자별 설치를 수행한 것입니다. 간단히 말해서 응용 프로그램을 사용하고자 하는 사용자가 각각 별도로 해당 프로그램을 설치해야 합니다. 사용자별 설치를 통하여 응용 프로그램을 설치하는 경우에는 데이터 저장이나 검색과 관련하여 특별히 고려해야 할 사항이 없습니다. 하지만 사용자마다 응용 프로그램을 완전하게 설치해야 하기 때문에 대규모 환경에서 이 방법을 사용하면 디스크 공간이 많이 소비되고 관리 비용이 추가될 수 있습니다.

일부 응용 프로그램에서는 네트워크 설치 옵션을 제공합니다. 네트워크 설치 프로세스에서는 설치 디스크나 CD-ROM 파일이 네트워크상의 공통 디렉터리에 복사됩니다. 그런 다음에는 개별 사용자가 이 공통 디렉터리에서 설정 또는 설치 유틸리티를 실행할 수 있습니다. 필요한 INI 파일은 홈 Windows 디렉터리에 복사됩니다. 이 프로세스를 선택하면 사용자별 설치를 여러 번 수행하는 것보다 터미널 서버 컴퓨터의 공간을 적게 사용하지만 여전히 각 사용자마다 별도의 프로세스를 실행해야 합니다.

글로벌 설치

Microsoft는 글로벌 설치 방법을 사용하여 Windows 응용 프로그램을 설치할 것을 권장합니다. 이 방법을 사용할 경우 관리자가 한 번만 응용 프로그램을 설치하면 해당 터미널 서버 컴퓨터에 로그온하는 모든 사용자가 그 응용 프로그램을 실행할 수 있습니다. 글로벌 설치를 수행하려면 제어판의 프로그램 추가/제거 도구를 사용하거나, 명령 프롬프트에 "change user /install"(실제로 입력할 때는 따옴표 생략)을 입력하여 설치 모드로 전환합니다. 이러한 방법 중 하나를 사용할 경우, 모든 INI 파일은 사용자의 홈 Windows 디렉터리가 아니라 터미널 서버의 시스템 디렉터리에 설치됩니다.

설치가 완료되면 프로그램 추가/제거 도구를 사용한 경우 마침을 누르거나 Change User 또는 Execute 명령을 사용하여 세션을 실행 모드로 되돌려 놓습니다. 사용자가 처음으로 응용 프로그램을 시작하면 사용자별로 필요한 특정 파일이 해당 사용자의 홈 디렉터리에 자동으로 복사됩니다.

대부분은 Win32 응용 프로그램은 세션이 설치 모드에 있지 않더라도 기본적으로 의사 글로벌 방식에 따라 설치됩니다. 이러한 응용 프로그램은 각 사용자마다 다른 레지스트리 설정 집합을 가질 수 있는 터미널 서버 레지스트리를 사용합니다. Win16 응용 프로그램은 INI 파일을 구성 설정에 사용합니다. Win16 응용 프로그램을 설치할 때는 여러 사용자가 제각기 다른 INI 파일 복사본을 가질 수 있도록 설치 모드를 사용해야 합니다. 16비트이든 32비트이든 관계 없이 Windows 응용 프로그램을 설치할 때는 항상 설치 모드를 사용하는 것이 좋습니다.

참고: 응용 프로그램을 설치할 때 가장 많이 발생하는 실수는 응용 프로그램 CD-ROM을 넣은 다음 자동 실행 기능이 설치 옵션을 표시할 때까지 기다리는 것입니다. 이렇게 하면 현재 로그온한 사용자만 사용하도록 응용 프로그램이 설치되므로 다음 두 방법 중 하나를 사용하여 응용 프로그램을 다시 설치해야 합니다. Microsoft는 제어판의 프로그램 추가/제거 도구를 통해 응용 프로그램을 설치하도록 권장합니다.

프로그램 추가/제거 도구를 사용하여 글로벌 설치를 수행하려면 다음과 같이 하십시오.
  1. 터미널 서버 컴퓨터에 관리자로 로그온합니다.
  2. 시작을 누르고 설정을 가리키고 제어판을 누른 다음 프로그램 추가/제거를 두 번 누릅니다.
  3. 설치를 눌러 설치 과정을 시작합니다. 그러면 설치 프로그램이 자동으로 검색됩니다. 프로그램 추가/제거 도구로 설치 프로그램을 찾을 수 없으면 하드 디스크, CD-ROM, 네트워크 공유 등에서 설치 프로그램을 찾아 선택할 수 있습니다. 모든 사용자가 사용하도록 설치할 것인지 아니면 현재 로그 온한 사용자만 사용하도록 설치할 것인지 선택할 수 있는 옵션이 제공됩니다.

    모든 사용자가 사용하도록 설치하면 시스템이 설치 모드로 전환되며 터미널 서버가 응용 프로그램 설치 과정에서 터미널 서버 시스템에 추가되는 사용자 특정 응용 프로그램 레지스트리 항목, INI 파일 및 DLL 파일을 추적할 수 있습니다.
  4. 해당 지침에 따라 응용 프로그램을 설치합니다. 설치 과정에서 사용자의 이름을 입력하라는 메시지가 나타나면 이 이름이 모든 사용자의 기본 이름으로 사용되므로 일반적인 이름을 입력하는 것이 좋습니다. 모든 사용자에게 지정할 기본 프로그램 설정을 구성합니다.
  5. 설치가 완료되면 프로그램 추가/제거 도구에서 마침을 눌러 시스템을 실행 모드로 되돌립니다.
해당 메시지가 나타나면 서버를 종료했다가 다시 시작하는 것이 좋습니다. 이 때 다시 시작되는 서버는 항상 실행 모드로 시작됩니다. 아래의 6단계를 진행합니다.

명령 프롬프트에서 글로벌 설치를 수행하려면 다음과 같이 하십시오.
  1. 터미널 서버 컴퓨터에 관리자로 로그 온 합니다.
  2. 시작 단추를 누르고 프로그램을 가리킨 다음 명령 프롬프트를 누릅니다.
  3. MS-DOS 명령 프롬프트에 다음 명령을 입력합니다.

    change user /install

    이 명령을 실행하면 시스템이 설치 모드로 전환되며 터미널 서버가 응용 프로그램 설치 과정에서 터미널 서버 시스템에 추가되는 사용자 특정 응용 프로그램 레지스트리 항목, INI 파일 및 DLL 파일을 추적할 수 있습니다.
  4. 해당 지침에 따라 응용 프로그램을 설치합니다. 설치 과정에서 사용자의 이름을 입력하라는 메시지가 나타나면 이 이름이 모든 사용자의 기본 이름으로 사용되므로 일반적인 이름을 입력하는 것이 좋습니다. 모든 사용자에게 지정할 기본 프로그램 설정을 구성합니다.
  5. 설치가 완료되면 MS-DOS 명령 프롬프트로 전환하여 다음 명령을 입력합니다.

    change user /execute

    이 명령을 실행하면 시스템이 실행 모드로 돌아갑니다. 해당 메시지가 나타나면 컴퓨터를 종료했다가 다시 시작하는 것이 좋습니다. 이 때 다시 시작되는 서버는 항상 실행 모드로 시작됩니다. 아래의 6단계를 진행합니다.

    두 설치 모드에서 공통적으로 수행하는 단계

  6. 해당 메시지가 나타나면 컴퓨터를 종료했다가 다시 시작하는 것이 좋습니다. 이 때 다시 시작되는 서버는 항상 실행 모드로 시작됩니다. 아래의 6단계를 진행합니다. 응용 프로그램에서 만든 아이콘 그룹이 %SystemRoot%\Profiles 디렉터리의 모든 사용자 프로필(Citrix Winframe 또는 Windows NT 3.51의 공용 그룹과 같음)에 있는지 확인합니다. 해당 아이콘이 Profiles\모든 사용자\시작 메뉴\프로그램 디렉터리에 만들어졌는지 확인합니다. 여기에 만들어진 아이콘은 시작 메뉴에 있는 사용자 프로그램 메뉴의 하단(공용) 부분에 나타납니다. 사용자의 프로필이나 기본 사용자 프로필에 만들어진 아이콘은 시작 메뉴에 있는 프로그램 메뉴의 상단(개인용) 부분에 나타납니다. 일부 응용 프로그램은 사용자의 프로필에만 기록되도록 하드 코딩되어 있습니다. 이런 경우에는 해당 아이콘을 모든 사용자 프로필에 복사하면 됩니다.
  7. 해당 메시지가 나타나면 컴퓨터를 종료했다가 다시 시작하는 것이 좋습니다. 이 때 다시 시작되는 서버는 항상 실행 모드로 시작됩니다. 아래의 6단계를 진행합니다. 로그 오프 했다가 사용자로 다시 로그온하여 응용 프로그램이 올바르게 작동하는지 확인합니다. 응용 프로그램을 실행하기 전에 네트워크 장치나 프린터와 같은 공유 자원이 각 사용자가 사용할 수 있도록 설정되어 있는지 확인합니다. 소프트웨어 설명서에서 해당 응용 프로그램을 설치하거나 사용하는 데 관한 참고 사항을 확인합니다.
  8. 해당 메시지가 나타나면 컴퓨터를 종료했다가 다시 시작하는 것이 좋습니다. 이 때 다시 시작되는 서버는 항상 실행 모드로 시작됩니다. 아래의 6단계를 진행합니다. 응용 프로그램의 디렉터리에 대해 관리자가 아닌 모든 사용자의 쓰기를 금지합니다. 이렇게 하면 사용자가 프로그램 파일을 읽을 수는 있지만 실수로 변경하거나 삭제하지는 못합니다.
참고: NTFS 파티션에 설치한 경우에는 Windows NT 탐색기의 보안 옵션을 통해 광범위한 배열의 옵션에 대한 보안을 설정할 수 있습니다. 이러한 보안 설정은 특정 사용자나 그룹에 대해서만 액세스를 제한합니다. FAT 파티션에 설치한 경우에는 ATTRIB 명령을 사용하여 파일과 디렉터리를 읽기 전용으로 표시할 수는 있지만 NTFS의 고급 보안 기능을 사용하지는 못합니다. 따라서 터미널 서버와 모든 응용 프로그램은 NTFS 파티션에 설치하는 것이 좋습니다. 반드시 NTFS를 사용해야 하는 것은 아니지만 NTFS를 사용하면 보다 광범위한 보안 옵션이 제공됩니다. 응용 프로그램이 NetWare 파일 서버에 있으면 FILER 프로그램을 사용하여 보안 옵션을 설정합니다.

시스템이 실행 모드인지 설치 모드인지 확인해야 할 경우에는 MS-DOS 명령 프롬프트에 다음 명령을 입력합니다.

   change user /query

응용 프로그램과 연관된 레지스트리 변수에서 호환성 비트를 만들고 설정하여 글로벌 설치 응용 프로그램이 시작되고 최적화될 때 수행되는 정확한 동작을 조정할 수 있습니다.

다음 절에서는 설치 모드와 실행 모드에서 수행되는 동작을 설명합니다.

설치 모드

응용 프로그램을 설치하기 전에 사용자의 세션을 설치 모드에 놓은 경우, 응용 프로그램은 사용자의 홈 디렉터리가 아니라 %SystemRoot% 디렉터리에 설치됩니다. 사용자의 세션이 설치 모드에 있으면 응용 프로그램의 INI 파일에 대한 모든 변경 사항이 항상 이 중앙 위치에 기록됩니다. 세션을 설치 모드에 놓으면 터미널 서버가 응용 프로그램 설치 과정에서 설치되는 사용자 특정 응용 프로그램 레지스트리 항목과 INI 파일을 추적할 수 있습니다. 따라서 터미널 서버가 실행 모드에 있더라도 응용 프로그램에서 이러한 레지스트리 키와 파일을 필요로 할 때마다 각 사용자에게 해당 레지스트리 키와 파일을 자동으로 전파할 수 있습니다. 응용 프로그램 설치가 완료되면 사용자의 세션을 실행 모드로 되돌려 놓아야만 글로벌 설치를 처음 실행할 때 사용자별 데이터가 기록되는 것을 피할 수 있습니다. 설치 모드일 때 응용 프로그램을 실행하면 다음 동작이 발생합니다.

경고: 레지스트리 편집기를 잘못 사용하면 심각한 문제가 발생할 수 있으며 문제를 해결하기 위해 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 레지스트리 편집기를 잘못 사용하여 발생하는 문제에 대해 해결을 보증하지 않습니다. 레지스트리 편집기의 사용에 따른 모든 책임은 사용자에게 있습니다.

레지스트리 편집 방법에 대한 자세한 내용은 레지스트리 편집기(Regedit.exe)의 "키 및 값 변경" 도움말 항목 또는 Regedt32.exe의 "레지스트리의 정보 추가 및 삭제" 및 "레지스트리 데이터 편집" 도움말 항목을 참조하십시오. 레지스트리를 편집하기 전에 레지스트리 파일을 백업해야 합니다. 또한 Windows NT나 Windows 2000을 실행 중인 경우에는 ERD(응급 복구 디스크)를 업데이트해야 합니다.
  • 현재 사용자용으로 만들어진 모든 레지스트리 항목은 다음 하위 키에 섀도우됩니다.
          HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT
          \CurrentVersion\Terminal Server\Install

    참고: 위의 레지스트리 경로는 원래 하나의 주소지만, 여기서는 읽기 쉽도록 두 줄로 표시했습니다.
  • 응용 프로그램이 HKEY_LOCAL_MACHINE 하이브에 추가하는 레지스트리 키는 다음 하위 키에 복사됩니다.
          HKEY_LOCAL_MACHINE\Software\Micorsoft\Windows NT
          \CurrentVersion\Terminal Server\Insatll\Machine

    참고: 위의 레지스트리 경로는 원래 하나의 주소지만, 여기서는 읽기 쉽도록 두 줄로 표시했습니다.
  • 응용 프로그램에서 GetWindowsDirectory API를 사용하여 WINDOWS 디렉터리에 대한 쿼리를 보내면 터미널 서버가 %SystemRoot% 디렉터리를 반환합니다. WritePrivateProfileStrign API를 사용하여 추가되는 INI 파일 항목은 %SystemRoot% 디렉터리의 INI 파일에 추가됩니다.
  • 응용 프로그램에서 INI 파일을 수정할 때 이러한 API를 사용하지 않으면 결과를 예측할 수 없기 때문에 성능이나 사용 가능성 문제가 발생할 수 있습니다.

실행 모드

실행 모드는 사용자가 로그온할 때 기본적으로 사용되는 모드입니다. 터미널 서버는 %SystemRoot%에 있는 INI 파일과 사용자의 홈 Windows 디렉터리에 있는 INI 파일을 비교합니다. %SystemRoot%에 있는 INI 파일이 사용자의 홈 디렉터리에 있는 INI 파일보다 새로운 파일인 경우에 발생하는 동작은 해당 파일에 대한 레지스트리 값의 0x00000040 비트를 통해 제어됩니다. 이 비트는 다음 하위 키에 있습니다.
   HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
   \Terminal Server\Caompability\IniFiles

참고: 위의 레지스트리 경로는 원래 하나의 주소지만, 여기서는 읽기 쉽도록 두 줄로 표시했습니다.

이 비트의 값이 0(영)이거나 없으면 %SystemRoot%에 있는 새로운 버전의 INI 파일이 사용자의 INI 파일을 덮어씁니다. 이 비트의 값이 1이면 사용자의 INI 파일이 %SystemRoot%에 있는 새로운 버전의 INI 파일에 병합됩니다.

이전 버전의 사용자 INI 파일 이름은 Inifile.ctx라는 이름으로 바뀝니다. 여기서 Inifile은 INI 파일의 이름입니다.

경고: 텍스트 편집기로 INI 파일을 읽을 수는 있지만 변경 사항을 저장하지는 못합니다. 터미널 서버에서는 파일이 업데이트되었는지 여부를 알 수 없으며 변경 사항이 손실되어 파일이 손상될 수 있습니다.

사용자의 레지스트리 값은 해당 사용자 프로필에서(해당 사용자 프로필이 없는 경우에는 기본 프로필에서) 로드되고 HKEY_USERS\SID에 저장됩니다. 여기서 SID는 사용자 계정에 대한 보안 ID입니다. 그런 후에는 다음 하위 키에 저장된 시스템 값과 비교됩니다.
   HKEY_LOCAL_MACHINE\Software\Micorsoft\Windows NT
   \CurrentVersion\Terminal Server\Install

참고: 위의 레지스트리 경로는 원래 하나의 주소지만, 여기서는 읽기 쉽도록 두 줄로 표시했습니다.

시스템 버전의 키보다 오래된 사용자의 키는 삭제된 다음 시스템 버전의 키로 대체됩니다. 다음 하위 키에 대한 레지스트리 값의 0X00000100 비트가 1로 설정되어 있으면 레지스트리 매핑 기능이 사용되지 않습니다.
   HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
   \Terminal Server\Compatibility\Applications

참고: 위의 레지스트리 경로는 원래 하나의 주소지만, 여기서는 읽기 쉽도록 두 줄로 표시했습니다.

터미널 서버 컴퓨터의 사용자가 여러 명인 경우, HKEY_CURRENT_USER는 현재 사용자의 HKEY_USERS 경로를 가리킵니다.

응용 프로그램이 실행되는 동안에는 다음 동작이 발생합니다.

  • 응용 프로그램이 HKEY_CURRENT_USER 아래에 없는 레지스트리 항목을 읽으려고 하면 터미널 서버는 다음 위치에 해당 키가 있는지 확인합니다.
          HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
          \Terminal Server\Install

    요청된 키가 있으면 키와 그 하위 키가 HKEY_CURRENT_USER의 해당 위치에 복사됩니다.
  • 응용 프로그램이 GetPrivateProfileString API를 사용하여 사용자의 홈 Windows 디렉터리에 없는 INI 파일을 읽으려고 하면 터미널 서버는 %SystemRoot%에 해당 INI 파일이 있는지 확인합니다. %SystemRoot%에 해당 INI 파일이 있으면 사용자의 홈 디렉터리에 복사됩니다. 응용 프로그램이 GetWindowsDirectory API를 사용하여 Windows 디렉터리 경로에 대한 쿼리를 보내면 터미널 서버는 사용자의 홈 디렉터리를 반환합니다.

실행 모드에서 응용 프로그램 실행 제어

세션이 실행 모드에 있으면 응용 프로그램, 레지스트리 경로 또는 INI 파일에 대해 여러 호환성 비트를 설정하여 터미널 서버에서 응용 프로그램 초기화 데이터의 병합을 처리하는 방법을 변경할 수 있습니다. 이러한 호환성 비트는 다음 레지스트리 하위 키에 설정됩니다.
   HKEY_LOCAL_MACHINE\Software\Micorsoft\Windows NT
   \CurrentVersion\Terminal Server\Compatibility

참고: 위의 레지스트리 경로는 원래 하나의 주소지만, 여기서는 읽기 쉽도록 두 줄로 표시했습니다.

이 레지스트리 경로에는 응용 프로그램, INI 파일 및 레지스트리 항목에 대한 세 개의 키가 있습니다. 대부분의 응용 프로그램에는 기본 설정을 그대로 사용해도 되지만, 아래에 설명된 호환성 비트를 사용하여 기본 설정을 보다 미세하게 조정할 수 있습니다.

경고: 이러한 호환성 비트는 응용 프로그램이 올바르게 작동하지 않는 경우에만 변경해야 합니다.

첫번째 호환성 비트 집합은 해당 설정이 적용되는 응용 프로그램의 버전을 나타냅니다. 모든 조합이 유용한 것은 아닙니다. 예를 들어, MS-DOS 응용 프로그램에서는 레지스트리를 호출하지 않습니다. 파일의 경로가 지정되지 않고 여러 응용 프로그램에서 같은 파일 이름(예: 설치 프로그램에 일반적으로 사용되는 Setup.exe 및 Install.exe)을 사용할 수도 있기 때문에 응용 프로그램 종류를 지정하면 같은 파일 이름을 지닌 다른 응용 프로그램에 해당 호환성 설정이 영향을 주지 않도록 할 수 있습니다.

설정하고자 하는 비트 값을 추가하여 문자열 값을 얻습니다. 예를 들어, 16비트 버전과 32비트 버전의 Myapp.exe 모두에 대해 컴퓨터 이름이 아닌 사용자 이름을 반환하려면 다음 위치에 레지스트리 키를 만듭니다.

경고: 레지스트리 편집기를 잘못 사용하면 심각한 문제가 발생할 수 있으며 문제를 해결하기 위해 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 레지스트리 편집기를 잘못 사용하여 발생하는 문제에 대해 해결을 보증하지 않습니다. 레지스트리 편집기의 사용에 따른 모든 책임은 사용자에게 있습니다.

레지스트리 편집 방법에 대한 자세한 내용은 레지스트리 편집기(Regedit.exe)의 "키 및 값 변경" 도움말 항목 또는 Regedt32.exe의 "레지스트리의 정보 추가 및 삭제" 및 "레지스트리 데이터 편집" 도움말 항목을 참조하십시오. 레지스트리를 편집하기 전에 레지스트리 파일을 백업해야 합니다. 또한 Windows NT나 Windows 2000을 실행 중인 경우에는 ERD(응급 복구 디스크)를 업데이트해야 합니다.

  1. 레지스트리 편집기(Regedt32.exe)를 시작하고 다음 하위 키로 이동합니다.
          HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
          \Terminal Server\Compatibility\Applications\Myapp
  2. 편집 메뉴에서 값 추가를 누른 후 다음 정보를 입력합니다.
          값 이름: Flags of
          데이터 형식: REG_DWORD

    11C의 16진수값(16비트 Windows 응용 프로그램의 경우 0x00000004 추가, 32비트 Windows 응용 프로그램의 경우 0x00000008 추가, 컴퓨터 이름이 아닌 사용자 이름을 반환하려면 0x00000010 추가, 레지스트리 매핑 기능을 사용하지 않으려면 0x00000100 추가)을 입력합니다.

응용 프로그램

다음 호환성 비트는 응용 프로그램이 실행되고 있을 때 해당 응용 프로그램에 영향을 주며 다음 레지스트리 하위 키에 있습니다.
   HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
   \Terminal Server\Compatibility\Applications\Appname

참고: Appname은 응용 프로그램의 실행 파일 이름입니다. 예를 들어, 응용 프로그램의 실행 파일 이름이 Prog1.exe이면 Appname은 PROG1입니다.

호환성 비트

  • DOS 응용 프로그램: 0X00000001
  • OS/2 응용 프로그램: 0x00000002
  • Windows 16비트 응용 프로그램: 0x00000004
  • Windows 32비트 응용 프로그램: 0x00000008
  • 컴퓨터 이름 대신에 사용자 이름 반환: 0x00000010
  • 터미널 서버 빌드 번호 반환: 0x00000020
  • 이 응용 프로그램에 레지스트리 매핑 기능 사용 안함: 0x00000100
  • 사용자 Windows 디렉터리 대체 안함: 0x00000400
컴퓨터 이름을 고유 식별자로 사용하는 응용 프로그램에는 "컴퓨터 이름 대신에 사용자 이름 반환" 플래그를 사용합니다. 그러면 사용자 이름이 응용 프로그램에 반환되어 해당 응용 프로그램의 각 사용자에게 고유 식별자가 부여됩니다.

응용 프로그램에 사용되는 레지스트리 변수의 글로벌 복사본을 하나만 보유하려면 "이 응용 프로그램에 레지스트리 매핑 기능 사용 안함"을 사용합니다.

"사용자 Windows 디렉터리 대체 안함" 비트가 설정되어 있는 경우, 이 비트는 GetWindowsDirectory API 호출에 사용되는 SystemRoot 디렉터리를 보유합니다. 이 비트가 설정되어 있지 않은 경우, Windows 디렉터리의 모든 경로는 기본적으로 사용자 Windows 디렉터리의 경로로 바뀝니다.

INI 파일

다음 호환성 비트는 다음 레지스트리 경로에 있으며 INI 파일 전파를 제어합니다.
   HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
   \Terminal Server\Compatibility\IniFiles\Inifile

참고: Inifile은 INI 파일 이름입니다. 예를 들어, 응용 프로그램의 INI 파일 이름이 Prog1.ini이면 Inifile은 PROG1입니다.

호환성 비트

  • Windows 16비트 응용 프로그램: 0x00000004
  • Windows 32비트 응용 프로그램: 0x00000008
  • 시스템 버전에 사용자 INI 파일 동기화: 0x00000040
  • 사용자 Windows 디렉터리 대체 안함: 0x00000080
"시스템 버전에 사용자 INI 파일 동기화" 비트가 설정되어 있으면 응용 프로그램이 시작될 때 시스템 마스터 INI 파일에 있는 정보를 사용하여 새 항목을 추가합니다. 사용자의 INI 파일에 있는 기존 데이터는 삭제되지 않습니다. 이 비트가 설정되어 있지 않은 경우, 사용자 INI 파일이 시스템 마스터 INI 파일보다 오래된 것이면 기본적으로 사용자 INI 파일을 덮어씁니다.

"사용자 Windows 디렉터리 대체 안함" 비트가 설정되어 있는 경우, 이 비트는 INI 파일의 시스템 마스터 버전이 사용자 Windows 디렉터리에 복사될 때 INI 파일에 있는 파일 경로에 사용되는 SystemRoot 디렉터리를 보유합니다. 이 비트가 설정되어 있지 않은 경우, Windows 디렉터리의 모든 경로는 기본적으로 사용자 Windows 디렉터리의 경로로 바뀝니다.

레지스트리 경로

다음 호환성 비트는 다음 레지스트리 하위 키에 있으며 레지스트리 전파를 제어합니다.
   HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
   \Terminal Server\Compatibility\RegistryEntries\Pathname

참고: Pathname은 HKEY_CURRENT_USER\Software 키입니다. 예를 들어, 응용 프로그램의 레지스트리 변수 경로가 HKEY_CURRENT_USER\Software\BrandX\PROG1이면 Pathname은 Brandx\PROG1입니다.

호환성 비트

  • Windows 32비트 응용 프로그램: 0x00000008
  • 응용 프로그램에 레지스트리 매핑 기능 사용 안함: 0x00000100
"응용 프로그램에 레지스트리 매핑 기능 사용 안함" 비트가 설정되어 있으면 응용 프로그램이 시작될 때 시스템 마스터 레지스트리 이미지에 있는 정보를 사용하여 새 항목이 추가됩니다. 사용자의 레지스트리에 있는 기존 데이터는 삭제되지 않습니다. 이 비트가 설정되어 있지 않은 경우, 사용자 레지스트리 데이터가 시스템 마스터 레지스트리 데이터보다 오래된 것이면 기본적으로 사용자 레지스트리 데이터를 삭제한 후 덮어씁니다.

응용 프로그램 호환성에 필요한 API 사용

터미널 서버의 글로벌 설치 기능을 완벽하게 사용하려면 응용 프로그램에서 올바른 API를 사용하여 INI 파일과 레지스트리 정보를 읽고 써야 합니다.

16비트 응용 프로그램

16비트 응용 프로그램에서는 GetPrivateProfileString API를 사용하여 INI 파일을 읽고 WritePrivateProfileString API를 사용하여 INI 파일에 써야 합니다.

32비트 응용 프로그램

32비트 응용 프로그램에서는 레지스트리 API를 사용하여 레지스트리 키를 업데이트해야 합니다. 여기에 사용할 수 있는 API는 다음과 같습니다.
RegOpenKeyEx RegCloseKeyEx RegEnumKeyEx RegDeleteKeyEx RegQueryValueEx RegSetValueEx
설치 모드에서 이러한 API를 사용하면 해당 항목에 타임 스탬프가 찍혀서 각 사용자가 다음 번에 로그온하려고 할 때 해당 사용자의 레지스트리 설정이 업데이트됩니다. 수동으로 레지스트리를 편집해도 레지스트리 항목의 타임 스탬프가 변경되지 않으며 사용자가 로그온할 때 해당 사용자에게 변경 사항이 전파되지 않습니다.

응용 프로그램 네트워크 통합

터미널 서버 환경의 네트워크 인식 응용 프로그램에는 Windows NT 환경 요구 사항뿐 아니라 다음 고려 사항도 적용될 수 있습니다.
고유 네트워크 주소 게이트웨이 NetWare NDS 요구 사항

고유 네트워크 주소

각 인스턴스마다 고유 네트워크 인터페이스 카드(NIC) 주소가 필요한 응용 프로그램이 몇 가지 있습니다. 이러한 응용 프로그램의 예로는 서버에 연결하는 각 클라이언트마다 고유 IP 주소가 필요한 클라이언트/서버 응용 프로그램이 있습니다. 이러한 방식으로 통신하는 응용 프로그램의 경우, 터미널 서버 컴퓨터에서 동시에 실행할 수 있는 클라이언트 인스턴스는 하나뿐입니다. 응용 프로그램이 터미널 서버 MultiWin 환경에서 올바르게 통신하려면 해당 응용 프로그램에서 고유 소켓을 결정할 수 있어야 합니다.

고유 소켓을 결정하는 기능은 호환되는 네트워크 응용 프로그램 설계의 주된 구성 요소입니다. 주소 구성표를 일부분만 하드 코딩해도 비호환 문제가 발생할 수 있습니다. 두 응용 프로그램에서 같은 주소로 통신하려고 하면 통신이 제대로 수행되지 않고 응용 프로그램 오류가 발생할 수 있습니다.

TCP/IP

TCP/IP 프로토콜을 통해 통신하는 일부 응용 프로그램에서는 IP 주소를 하드 코딩된 클라이언트 식별자로 사용합니다. 이러한 응용 프로그램의 인스턴스는 터미널 서버 MultiWin 환경에서 한 번에 하나씩만 실행됩니다. 응용 프로그램이 MultiWin 환경에서 올바르게 통신하려면 해당 응용 프로그램에서 개인용 소켓을 결정할 수 있어야 합니다. 그러면 클라이언트와 서버가 고유 IP/PORT/SOCKET 주소를 사용하여 통신할 수 있습니다.

IPX

IPX를 사용하는 일부 응용 프로그램에서는 NIC 주소를 고유 식별자로 사용하면서 하드 코딩된 소켓을 통신에 사용합니다. 모든 사용자가 같은 NIC 주소로 통신하여 잘못된 프로그램 작동이 발생하기 때문에 이러한 응용 프로그램은 터미널 서버 MultiWin 환경에서 실행되지 않습니다.

NetBEUI 및 NetBIOS

NetBEUI 또는 NetBIOS를 사용하는 일부 응용 프로그램에서는 특정 이름을 고유 식별자로 사용합니다. 모든 사용자가 같은 이름으로 통신하여 잘못된 프로그램 작동이 발생하기 때문에 이러한 응용 프로그램은 터미널 서버 MultiWin 환경에서 실행되지 않습니다.

게이트웨이

일부 메인프레임 연결 제품에서는 NIC의 네트워크 주소를 세션 및 사용자 식별자로 사용합니다. 터미널 서버 사용자는 한 번에 한 명씩만 이러한 제품을 사용할 수 있습니다. 이런 경우의 해결 방법은 터미널 서버와 소형 컴퓨터 사이에 데이터 통신 게이트웨이를 사용하는 것뿐입니다. 그러면 터미널 에뮬레이터에서 IPX와 같은 가상 소켓 기반 프로토콜을 통해 게이트웨이와 통신할 수 있으므로 여러 터미널 서버 사용자가 해당 제품을 사용할 수 있습니다.

Novell NetWare NDS 요구 사항

터미널 서버 사용자는 NetWare NDS(NetWare 4.x) 환경에서 인증을 받거나 이 환경의 자원을 사용할 수 있습니다. NDS 환경에서 실행되는 대부분의 응용 프로그램에서는 NDS 특정 API를 사용하지 않습니다. 이러한 응용 프로그램은 NetWare 바인더리(NetWare 3.x) 환경에서 실행되는 것과 정확히 동일하게 실행됩니다. NDS 특정 API가 지원되지 않기 때문에 터미널 서버 컴퓨터에서 실행되는 응용 프로그램은 NetWare 바인더리 환경에서 작동할 수 있어야 합니다.

기타 네트워킹 고려 사항

최고의 성능을 위해서는 Microsoft SQL Server와 같은 클라이언트/서버 소프트웨어의 서버 구성 요소를 터미널 서버 컴퓨터에 설치하지 않아야 합니다. 이러한 구성 요소는 상당히 많은 자원을 소모하므로 다중 터미널 서버 사용자 세션의 성능에 영향을 줄 수 있습니다. 터미널 서버는 서버 환경보다 다중 사용자 환경에 적합하게 설정되어 있습니다. 터미널 서버는 Windows NT Workstation을 실행하는 가상 컴퓨터의 모음이라고 생각하면 이해하기가 쉬울 것입니다. 예를 들어, Windows NT Workstation을 실행하는 컴퓨터에서는 프로세스가 다른 대기 프로세스로 전환하기 전에 CPU 사이클 시간을 조금만 허용합니다. 따라서 사용자 응용 프로그램의 멀티태스킹 성능이 향상됩니다. 터미널 서버는 Windows NT Server를 다르게 조정하는 것과 같은 방식으로 프로세스를 처리하도록 조정되어 있습니다. 이렇게 하면 Microsoft SQL Server나 Microsoft Exchange Server와 같은 서버 응용 프로그램 프로세스는 대기열에 있는 다른 프로세스로 전환하기 전에 CPU를 더 오랫동안 사용할 수 있습니다.

COM 서버 응용 프로그램을 터미널 서버 클라이언트에 사용하는 경우에는 클라이언트가 연결된 터미널 서버 컴퓨터에 이 응용 프로그램의 서버 부분을 설치할 수 없습니다. 필요하면 이 응용 프로그램의 서버 부분을 다른 터미널 서버에 설치할 수도 있습니다. 또는 터미널 서버 자원이 아닌 다른 자원에 설치할 수도 있습니다(권장). COM 응용 프로그램의 한계는 클라이언트와 서버 부분을 같은 터미널 서버 컴퓨터에서 실행할 수 없다는 점입니다.

터미널 서버 RDP 클라이언트 및 Citrix ICA 클라이언트

Microsoft RDP(원격 데스크톱 프로토콜) 클라이언트와 Citrix ICA 클라이언트 간에는 공통된 기능이 많습니다. 두 클라이언트 모두 저대역폭 연결을 통한 고성능 Windows 프레젠테이션 서비스를 제공합니다.

Microsoft RDP 클라이언트와 Citrix ICA 클라이언트는 다음 기능을 공통적으로 제공합니다.
  • 그래픽 Windows 응용 프로그램 화면 프레젠테이션
  • 키보드 및 마우스 입력
  • 세션 제어
  • 오류 감지 및 복구
  • 암호화
  • 데이터 압축
  • 다중 보안 수준
  • 일반적인 용도의 터미널 서버 검색
Citrix ICA 클라이언트는 다음 기능을 추가로 제공합니다.
  • 전체 화면 텍스트 프레젠테이션
  • 비동기 연결 프레임
  • 파일 시스템 리디렉션
  • 인쇄 리디렉션
  • COM 포트 리디렉션
  • 다중 일반 가상 채널
  • 클라이언트와 서버 간의 잘라내기 및 붙여넣기
  • 다중 운영 체제 플랫폼(MS-DOS, Windows 3.1, Macintosh, UNIX 포함)
Citrix ICA 클라이언트를 터미널 서버에 사용하려면 현재 베타 버전으로 제공되고 있는 Citrix 추가 기능 서비스(코드 이름: Metaframe)를 설치합니다. 또한 Metaframe을 사용하면 관리자가 터미널 서버의 연결 구성에서 SPX, NetBEUI 및 비동기 연결을 정의할 수 있습니다. 터미널 서버의 초기 버전에서는 TCP/IP 연결만 사용합니다. RDP가 캡슐화되어 TCP가 3389 포트를 통한 전송 및 연결에 사용됩니다.

RDP와 ICA 클라이언트는 둘 다 키보드, 마우스 및 비디오 정보를 효율적으로 전송합니다. Microsoft와 Citrix는 다음 그래픽 지침을 권장합니다.

그래픽 및 글꼴 고려 사항:
  • 비트맵 이미지 그래픽 대신에 벡터 그래픽을 사용합니다.
  • 래스터 연산자를 사용하여 화면의 그래픽을 브러시 처리합니다.
비트맵은 서버에서 각 고유 비트맵에 대한 모든 이미지 데이터를 한 번 이상 전송해야 하기 때문에 벡터 그래픽보다 많은 대역폭을 필요로 합니다. RDP와 ICA 클라이언트는 클라이언트 시스템 캐시에 각 고유 비트맵을 저장하여 이러한 단점을 보완합니다. 비트맵을 표시해야 할 때는 해당 비트맵이 클라이언트 캐시에 로컬로 저장된 비트맵과 비교됩니다. 표시할 비트맵이 클라이언트 캐시에 이미 저장되어 있는 비트맵과 일치하면 네트워크를 통해 이미지를 전송하는 대신에 로컬 복사본을 다시 표시하라는 명령이 전송됩니다.

트루타입 글꼴은 클라이언트에 저장되므로 이 글꼴을 사용하는 것이 좋습니다. 응용 프로그램에서 사용자 지정 글꼴이나 Adobe 글꼴을 사용해야 할 경우에는 해당 글꼴을 Windows NT 포함 글꼴로 구성하여 표시 속도를 높여야 합니다. 현재 더 많은 글꼴 기술이 Windows NT 커널에 포함되고 있으므로 향후 출시될 터미널 서버 버전에서는 그 성능이 향상될 것입니다. RDP 클라이언트에서 전체 화면 MS-DOS 모드를 사용할 수 없는 이유는 바로 글꼴 때문입니다. 전체 화면 MS-DOS 모드를 사용하려면 트루타입 글꼴을 사용할 수 없으므로 전체 글꼴 집합을 다운로드해야 하는데, 그러면 이 기능을 사용할 수 없을 정도로 성능이 크게 저하됩니다.

커서가 깜박일 때마다 데이터 패킷을 전송해야 하기 때문에 커서 깜박임은 불필요한 대역폭 사용을 초래합니다. 깜박이는 커서를 사용하지 않는 응용 프로그램이나 커서 깜박임 기능을 해제할 수 있는 응용 프로그램을 사용하는 것이 좋습니다. 이러한 설정은 제어판 도구를 사용하여 구성할 수 있습니다.

속성

기술 자료: 186498 - 마지막 검토: 2002년 3월 29일 금요일 - 수정: 1.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows NT Server 4.0, Terminal Server Edition
키워드:?
kbinfo KB186498

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com