환경 테이블
환경 테이블은 환경 변수의 값을 설정하는 데 사용됩니다.
환경 테이블에는 다음 열이 있습니다.
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 속성을 사용하여 이 구성 요소의 설치를 조건화합니다.