파일 비용

비용은 설치를 위한 총 디스크 공간 요구 사항을 결정하는 프로세스입니다. 파일 비용 프로세스에서 계산된 요소에는 파일이 설치되거나 제거되는 디스크 공간의 양과 레지스트리 항목, 바로 가기, 기타 파일에서 차지하는 디스크 공간의 양이 포함됩니다. 덮어쓰기로 예약된 기존 파일도 디스크 비용 합계로 계산됩니다.

총 비용은 구성 요소별로 누적되며 로컬 비용, 원본 비용, 제거 비용의 세 가지 개별 부분으로 구성됩니다. 이러한 부분은 구성 요소가 로컬로 설치되거나, 원본 미디어에서 실행되도록 설치되거나, 제거될 때 발생하는 디스크 비용에 해당합니다.

파일 설치 비용과 관련된 모든 계산은 파일을 설치하거나 제거할 디스크 볼륨에 따라 달라집니다. 구성 요소와 연결된 디렉터리가 변경될 때마다 해당 구성 요소에서 제어하는 설치 파일의 비용을 다시 계산해야 합니다. 예를 들어 디렉터리 변경이 볼륨 변경을 암시할 수도 있으므로 클러스터형 파일 크기를 다시 계산해야 합니다. 또한 새 디렉터리를 확인하여 덮어쓸 수 있는 기존 파일을 고려해야 하는지 여부를 확인해야 합니다.

CostInitialize 작업이 호출되면 FileCost 작업을 호출해야 합니다. CostInitialize 작업은 표준 설치 작업과 관련된 디스크 비용을 동적으로 계산하는 설치 관리자의 내부 루틴을 초기화합니다. 이 시점에서 다른 동적 비용은 계산되지 않습니다.

다음으로 CostFinalize 작업을 호출해야 합니다. 이 작업은 모든 비용 계산을 완료하고 구성 요소 테이블을 통해 비용 데이터를 사용할 수 있게 합니다.

CostFinalize 작업이 실행을 완료하면 구성 요소 테이블이 완전히 초기화되고 필요한 경우 SelectionTree 컨트롤이 포함된 사용자 인터페이스 대화 상자 시퀀스를 시작할 수 있습니다. 사용자 인터페이스 대화 상자는 기능 테이블에 있는 기능의 선택 상태 또는 대상 디렉터리를 변경하는 옵션을 사용자에게 제공할 수 있습니다. 구성 요소의 선택 상태가 변경되는 경우 프로세스는 비슷합니다. 그러나 이 경우 변경된 구성 요소의 동적 비용만 다시 계산됩니다.

사용자가 사용자 인터페이스에서 기능 선택을 완료하면 InstallValidate 작업을 호출해야 합니다. 이 작업은 비용이 발생한 모든 볼륨에 충분한 설치 공간이 있음을 확인합니다.