다음을 통해 공유


터미널 서버에서 Windows Installer 사용

다음은 터미널 서버를 사용할 때 Windows Installer 설치에 영향을 줄 수 있습니다. 설치 개발자는 사용자가 동시에 터미널 서버를 사용할 때 Windows Installer 패키지가 예상대로 설치되는지 항상 테스트해야 합니다.

  • Windows Server 2008 및 Windows Vista 이전 운영 체제에서는 관리자가 클라이언트 세션에서 설치를 수행할 수 있도록 EnableAdminTSRemote 시스템 정책을 설정해야 합니다. Windows Server 2008 및 Windows Vista 이상에서는 EnableAdminTSRemote 정책이 더 이상 적용되지 않습니다. 설정에 관계없이 관리자와 관리자가 아닌 사용자는 클라이언트 세션 또는 콘솔 세션에서 설치를 수행할 수 있습니다. 관리자와 비관리자는 항상 콘솔 세션에서 Windows Installer 설치를 수행할 수 있습니다.
  • DisableUserInstalls시스템 정책이 1로 설정된 경우 Windows Installer는 사용자별 설치 컨텍스트에서 설치를 차단합니다. 이 경우 설치 관리자는 사용자별로 등록된 모든 애플리케이션을 무시하고 컴퓨터별로 등록된 애플리케이션만 검색합니다.
  • Windows 2000에서 호스트되는 터미널 서버의 클라이언트 세션에서 관리자가 설치를 수행하는 경우 매핑된 드라이브 문자가 아닌 UNC 경로를 사용해야 합니다.

개발자는 터미널 서버와 함께 사용할 수 있는 Windows Installer 구성 요소를 개발할 때 다음 지침을 준수해야 합니다.

  • 모든 HKCU 레지스트리 정보를 레지스트리의 HKCU\소프트웨어 부분에 씁니다.
  • INI 파일에 구성 정보를 저장하는 것은 권장되지 않습니다.
  • 애플리케이션 설치 시가 아닌 최초 실행 시 레지스트리에 사용자별 정보를 씁니다. 설치 시 레지스트리에 사용자별 정보를 작성해야 하는 경우 사용자별 및 컴퓨터별 정보를 다른 Windows Installer 구성 요소로 분리합니다. 애플리케이션이 설치될 때 설치 관리자가 사용자별 정보가 포함된 구성 요소의 유효성을 검사하고 복구하지 않도록 패키지를 작성합니다.
  • 컴퓨터별 설치에만 사용되는 패키지는 환경 테이블의 이름 열에 *를 포함하여 컴퓨터 환경에 환경 변수를 작성해야 합니다. 패키지를 사용자별 설치 또는 컴퓨터별 설치에 사용할 수 있는 경우 두 가지 구성 요소를 사용합니다. 구성 요소 테이블에 사용자별 구성 요소를 포함하고 환경 테이블에 사용자 설정을 입력합니다. 구성 요소 테이블에 컴퓨터별 구성 요소를 포함하고 환경 테이블에 컴퓨터 설정을 입력합니다. 구성 요소 테이블의 조건 필드에 있는 ALLUSERS 속성을 기반으로 조건문을 사용하여 설치되는 구성 요소를 제어합니다.
  • 터미널 서버에서 컴퓨터별 설치를 수행할 때 설치 관리자는 사용자별 환경 변수를 HKCU\.Default\Environment에 씁니다. 터미널 서버는 레지스트리의 이 섹션을 복제하지 않으므로 설치 시 사용자별 환경 변수가 설정되지 않습니다.
  • 사용자가 애플리케이션을 복구하지 못하도록 서버를 구성할 수 있으므로 애플리케이션이 레지스트리 키가 누락된 경우를 정상적으로 처리해야 합니다.

다음은 DLL, EXE 또는 스크립트 사용자 지정 작업을 사용하는 Windows Installer 패키지가 터미널 서버의 컴퓨터별 설치 컨텍스트에 설치될 때 적용됩니다. 이 경우 설치 관리자는 TerminalServer 속성을 설정합니다.

  • 지연된 사용자 지정 작업은 작업에 msidbCustomActionTypeTSAware 특성이 없는 한 로컬 시스템의 컨텍스트에서 실행됩니다. 사용자 지정 작업이 터미널 서버가 아닌 시스템에서 사용자를 가장하는 경우에도 마찬가지입니다. msidbCustomActionTypeTSAware 특성이 있는 사용자 지정 작업이 사용자의 레지스트리를 변경하는 경우 설치 관리자는 컴퓨터의 모든 사용자 레지스트리에서도 변경 내용이 수행되는지 자동으로 확인하지 않습니다.
  • HKCU 레지스트리 하이브에서 읽은 지연된 사용자 지정 작업의 모든 레지스트리 작업에는 현재 사용자의 레지스트리 하이브가 아닌 시스템의 기본 레지스트리 하이브가 표시됩니다.
  • 설치 관리자는 HKCU\Software에 쓰는 지연된 사용자 지정 작업의 모든 레지스트리 작업을 검색하고 사용자의 다음 로그온 시 컴퓨터의 모든 사용자에게 복사합니다.
  • HKCU에 쓰지만 HKCU\Software 레지스트리 키 아래에 있지 않은 지연된 사용자 지정 작업의 레지스트리 작업은 설치 관리자가 검색하거나 복사하지 않습니다.

자세한 내용은 Microsoft Windows SDK(소프트웨어 개발 키트)의 터미널 서비스를 참조하세요.

EnableAdminTSRemote

TerminalServer 속성

RemoteAdminTS 속성

터미널 서비스