다음을 통해 공유


JScript 및 VBScript 사용자 지정 작업의 값 반환

JScript 또는 Visual Basic으로 작성된 사용자 지정 작업인 VBScript(Scripting Edition)는 선택적 함수를 호출할 수 있습니다. 이러한 함수는 다음 테이블에 표시된 값 중 하나를 반환해야 합니다.

반환 값 설명
msiDoActionStatusNoAction 0 작업이 실행되지 않았습니다.
msiDoActionStatusSuccess IDOK = 1 작업이 완료되었습니다.
msiDoActionStatusUserExit IDCANCEL = 2 사용자에 의해 조기 종료되었습니다.
msiDoActionStatusFailure IDABORT = 3 복구할 수 없는 오류. JScript 또는 VBScript를 구문 분석하거나 실행하는 동안 오류가 있는 경우 반환됩니다.
msiDoActionStatusSuspend IDRETRY = 4 나중에 다시 시작될 일시 중단된 시퀀스.
msiDoActionStatusFinished IDIGNORE = 5 나머지 작업을 건너뜁니다. 오류가 아닙니다.

 

Windows Installer는 반환 값을 로그 파일에 쓸 때 모든 작업의 반환 값을 변환합니다. 예를 들어 작업 반환 값이 로그 파일에 1(일)로 표시되면 이는 작업이 msiDoActionStatusSuccess를 반환했음을 의미합니다. 이 번역에 대한 자세한 내용은 작업 반환 값 로깅을 참조하세요.

스크립트 사용자 지정 작업에서 성공 이외의 값을 반환하려면 사용자 지정 작업에 함수 대상을 사용해야 합니다. 대상 함수는 CustomAction 테이블의 대상 열에 지정됩니다.

다음 스크립트 예제에서는 VBScript 사용자 지정 작업에서 성공 또는 실패를 반환하는 방법을 보여 줍니다.

Function MyVBScriptCA()

    If Session.Property("CustomErrorStatus") <> "0" Then
        'return error
        MyVBScriptCA = 3
        Exit Function
    End If

    ' return success
    MyVBScriptCA = 1
    Exit Function

End Function

이 VBScript가 설치 패키지의 이진 테이블에 MyCA.vbs로서 포함된 경우 스크립트에 대한 CustomAction 테이블 항목은 다음과 같습니다.

작업 형식 원본 대상
MyCustomAction 6 MyCA.vbs MyVBScriptCA