다음을 통해 공유


InstallValidate 작업

InstallValidate 작업은 비용이 발생한 모든 볼륨에 충분한 설치 공간이 있음을 확인합니다. 볼륨에 디스크 공간이 부족한 경우 InstallValidate 작업은 심각한 오류를 표시하여 설치를 종료합니다.

또한 InstallValidate 작업은 현재 활성 프로세스에서 덮어쓰거나 제거할 하나 이상의 파일을 사용하고 있는지 사용자에게 알립니다. 자세한 내용은 시스템 다시 부팅을 참조하세요.

시퀀스 제한

CostFinalize 작업 및 사용자가 선택 상태 및/또는 디렉터리를 수정할 수 있는 모든 UI 대화 상자 시퀀스는 InstallValidate 작업 전에 시퀀스되어야 합니다.

기능 또는 구성 요소의 설치 상태를 변경하는 사용자 지정 작업은 InstallValidate 작업 전에 시퀀스되어야 합니다.

ActionData 메시지

ActionData 메시지가 없습니다.

설명

일반적으로 이전 UI 대화 상자 시퀀스는 사용자가 파일 복사를 시작하려고 할 때 InstallValidate 작업과 동일한 확인을 수행해야 합니다. 선택한 볼륨에 설치할 공간이 충분하지 않은 경우 이 UI 대화 상자 시퀀스에 디스크 공간 부족 대화 상자가 표시됩니다. 디스크 공간이 부족한 경우 사용자가 설치를 진행하지 못하도록 UI 대화 상자를 작성해야 합니다. 자동 설치의 경우 사용자 인터페이스가 없으며 InstallValidate 작업은 디스크 공간이 부족한 경우 설치를 종료합니다. 로깅을 활성화한 경우 조기 종료의 원인이 로그 파일에 기록됩니다.

파일 비용 계산 시 프로세스에서 실행 또는 수정을 위해 파일이 열려 있는 동안 파일을 덮어쓰거나 제거하면 항목이 내부 FilesInUse 테이블에 추가됩니다. FilesInUse 테이블에는 파일의 이름 및 전체 경로에 대한 열이 포함되어 있습니다. InstallValidate 작업이 실행되면 설치 관리자는 FilesInUse 테이블에서 항목을 쿼리하고 파일을 사용하여 프로세스의 이름을 결정합니다. InstallValidate 작업은 이 쿼리로 식별된 각 고유 프로세스에 대해 하나의 레코드를 ListBox 사용자 인터페이스 테이블에 추가합니다. 레코드에는 각 열에 다음 값이 포함됩니다.

속성: FileInUseProcess

 

: 프로세스 이름

 

텍스트: 프로세스의 주 창 캡션에 포함된 텍스트

그런 다음, InstallValidate 작업은 사용 중인 파일 대화 상자를 표시합니다. 이 대화 상자에는 사용 중인 파일을 교체하기 위해 시스템을 다시 시작해야 하는 요구 사항을 방지하기 위해 종료해야 하는 프로세스가 표시됩니다.

InstallValidate 작업은 예약된 이름 FilesInUse 대화 상자가 있는 작성 대화 상자에 대한 Dialog 테이블을 쿼리하고 표시합니다. 이 대화 상자에는 FileInUseProcess라는 속성에 연결된 ListBox 컨트롤이 포함되어야 합니다. 규칙에 따라 이 대화 상자에는 종료, 다시 시도 또는 무시 단추가 있지만 이는 UI 작성자가 결정합니다. 각 단추는 ControlEvent 테이블의 EndDialog ControlEvent에 연결되어야 합니다. InstallValidate 작업은 사용자가 누른 단추와 연결된 EndDialog 인수 중 하나에 따라 DoAction ControlEvent에서 반환된 값에 다음과 같이 응답합니다.

다시 시도: ListBox 테이블에 추가된 모든 값이 지워지고 전체 파일 비용 계산 프로시저가 반복되어 여전히 사용 중인 파일을 다시 확인합니다. 하나 이상의 프로세스가 여전히 파일을 덮어쓰거나 삭제하는 것으로 식별되면 프로세스가 반복됩니다. 그렇지 않으면 InstallValidate는 msiDoActionStatusSuccess 상태의 설치 관리자에 대한 컨트롤을 반환합니다.

종료: InstallValidate 작업은 msiDoActionStatusUserExit 상태의 설치 관리자에 대한 컨트롤을 즉시 반환합니다. 그러면 설치가 종료됩니다.

기타 반환 값: InstallValidate 작업은 msiDoActionStatusSuccess 상태의 설치 관리자에 대한 컨트롤을 즉시 반환합니다. 이 경우 하나 이상의 파일이 계속 사용 중이므로 후속 InstallFiles 및/또는 InstallAdminPackage 작업은 시스템을 다시 시작할 때 사용 중인 파일을 교체하거나 삭제하도록 예약해야 합니다.

데이터베이스에 ListBox 테이블이 없으면 InstallValidate가 오류 없이 자동으로 종료됩니다.

세미콜론은 변환, 원본 및 패치에 대한 목록 구분 기호이며 이러한 파일 이름 또는 경로에 사용해서는 안 됩니다.

읽기 전용 위치에서 읽기 전용으로 표시된 파일은 설치 관리자가 사용하는 것으로 간주되지 않습니다.

사용자 인터페이스 수준이 기본인 경우 중단다시 시도 단추가 포함된 기본 디스크 공간 부족 대화 상자가 사용자에게 표시됩니다.