다음을 통해 공유


환경 테이블

환경 테이블은 환경 변수의 값을 설정하는 데 사용됩니다.

환경 테이블에는 다음 열이 있습니다.

Column 형식 Nullable
Environment 식별자 Y N
속성 Text N N
Formatted N Y
Component_ 식별자 N N

Environment

테이블의 기본 키이며 지역화되지 않은 토큰입니다.

이름

이 열은 지역화 가능한 환경 변수 이름입니다. 다음 표에 있는 문자 중 이름 접두사로 지정된 문자에 따라 키 값이 작성되거나 제거됩니다. 접두사에 사용되는 기호의 순서에는 영향을 주지 않습니다.

접두사 Description
= 환경 변수가 없으면 만든 다음, 설치 중에 설정합니다. 환경 변수가 있는 경우 설치하는 동안 설정합니다.
+ 환경 변수가 없으면 만든 다음, 설치 중에 설정합니다. 이미 있는 경우 환경 변수 값에는 영향을 주지 않습니다.
- 구성 요소가 제거되면 환경 변수도 제거합니다. 이 기호는 모든 접두사와 결합할 수 있습니다.
! 설치하는 동안 환경 변수를 제거합니다. 설치 관리자는 변수의 이름과 값이 환경 테이블의 이름 및 값 필드에 있는 항목과 일치하는 경우에만 설치 중에 환경 변수를 제거합니다. 값에 관계없이 환경 변수를 제거하려면 '!' 구문을 사용하고 값 필드를 비워 둡니다.
* 이 접두사는 이름이 시스템 환경 변수를 참조함을 나타내기 위해 Windows 2000과 함께 사용됩니다. 별표가 없으면 설치 관리자는 변수를 사용자 환경에 씁니다. 이 기호는 모든 접두사와 결합할 수 있습니다. 컴퓨터별 설치 컨텍스트에서 설치에 사용되는 패키지는 이름 열에 *를 포함하여 컴퓨터 환경에 환경 변수를 작성해야 합니다. 자세한 내용은 설명 부분을 참조하세요.
=- 환경 변수는 설치 시 설정되고 제거 시 제거됩니다. 이는 정상적인 동작입니다.
!- 설치 또는 제거 중에 환경 변수를 제거합니다.
=+ !+
!=
유효한 접두사는 아닙니다.

테이블의 값 필드에 [~]가 포함된 경우 접두사 문자는 문자열의 지정된 부분에만 적용됩니다. [~]의 사용은 아래 Value 열 섹션에서 설명합니다.

테이블의 값 필드가 비어 있으면 환경 변수가 제거됩니다. 따라서 값 필드에 공백이 있으면 = 접두사는 설치 시 환경 변수를 삭제하고 - 접두사는 제거 시 현재 값을 삭제합니다.

Value

이 열에는 서식 있는 문자열로 설정할 지역화 가능한 값이 포함되어 있습니다. 서식 있음을 참조하세요. 이 필드를 비워 두면 변수가 제거됩니다. 필드가 비어 있고 이름 필드의 문자열에 - 기호가 접두사로 추가되면 구성 요소가 제거될 때만 변수가 제거됩니다.

기존 변수의 끝에 값을 추가하려면 이 필드의 문자열 앞에 Null 문자 [~] 및 구분 기호 문자를 접두사로 추가합니다. 예를 들어 세미콜론이 선택한 구분 기호인 경우 [~];Value입니다.

기존 변수의 앞에 값을 접두사로 추가하려면 구분 기호 문자와 Null 문자 [~]로 이 필드의 문자열을 추가합니다. 예를 들어 세미콜론이 선택한 구분 기호인 경우 Value;[~]입니다.

필드에 [~]가 없으면 문자열은 설정하거나 삭제할 전체 값을 나타냅니다.

각 행에는 하나의 값만 포함될 수 있습니다. 예를 들어 항목 Value;Value;[~]은(는) 둘 이상의 값이며 예기치 않은 결과가 발생하므로 사용하면 안 됩니다. 항목 Value;[~]은(는) 하나의 값에 불과합니다.

이름에 +가 접두사로 추가된 경우 Value 열에 [~]를 사용하면 안 됩니다. “+” 및 “[~]”의 의미는 완전히 서로 배타적이기 때문입니다.

Component_

구성 요소 테이블의 첫 번째 열에 대한 외부 키입니다. 이 열은 환경 값의 설치를 제어하는 구성 요소를 참조합니다.

설명

설치 관리자가 환경 변수를 설정하려면 WriteEnvironmentStrings 작업RemoveEnvironmentStrings 작업InstallExecuteSequence 테이블에 나열되어야 합니다.

WriteEnvironmentStrings 작업 또는 RemoveEnvironmentStrings 작업이 실행되면 설치 진행 중인 환경 변수는 변경되지 않습니다. Windows 2000에서는 이 정보가 레지스트리에 저장되고 설치가 완료되면 시스템에 변경 내용을 알리는 메시지가 표시됩니다. 새 프로세스 또는 이러한 메시지를 확인하는 다른 프로세스는 새 환경 변수를 사용합니다.

환경 테이블을 사용하여 경로 환경 변수를 수정할 때 전체 새 경로를 값 필드에 명시적으로 입력하지 마세요. 대신 값과 구분 기호((;)~[~])를 접두사로 추가하거나 직접 추가하여 기존 경로를 확장합니다. 값 필드에 [~]가 없으면 기존 경로 정보가 손실되고 .msi 파일을 설치하면 컴퓨터가 부팅되지 않을 수 있습니다. 경로 변수는 주로 [~];Value 구문을 사용하여 설정됩니다.

터미널 서버에서 컴퓨터별 설치를 수행할 때 설치 관리자는 사용자별 환경 변수를 HKU\.Default\Environment에 씁니다. 터미널 서비스는 레지스트리의 이 섹션을 복제하지 않으므로 설치 시 사용자별 환경 변수가 설정되지 않습니다. 컴퓨터별 설치에 사용되는 패키지는 이름 열에 *를 포함하여 컴퓨터 환경에 환경 변수를 작성해야 합니다. 패키지를 사용자별 또는 컴퓨터별로 설치할 수 있는 경우 두 가지 구성 요소를 만듭니다. (1) 사용자 설정별로 작성된 환경 테이블 항목이 있는 사용자별 구성 요소와 (2) 컴퓨터 설정별로 작성된 환경 테이블이 있는 컴퓨터별 구성 요소입니다. Privileged 속성을 사용하여 이 구성 요소의 설치를 조건화합니다.

유효성 검사

ICE03
ICE06
ICE32
ICE46
ICE65
ICE69
ICE80