MsiEndTransaction 함수(msi.h)

MsiEndTransaction 함수는 MsiBeginTransaction 함수에서 연 트랜잭션에 속하는 모든 설치를 커밋하거나 롤백할 수 있습니다. 이 함수는 트랜잭션의 현재 소유자가 호출해야 합니다.

Windows Installer 4.0 이하: 지원되지 않습니다. 이 함수는 Windows Installer 4.5부터 사용할 수 있습니다.

구문

UINT MsiEndTransaction(
  [in] DWORD dwTransactionState
);

매개 변수

[in] dwTransactionState

이 매개 변수의 값은 설치 관리자가 트랜잭션에 속한 모든 설치를 커밋하거나 롤백하는지 여부를 결정합니다. 값은 다음 중 하나일 수 있습니다.

의미
MSITRANSACTIONSTATE_ROLLBACK
롤백 설치를 수행하여 MsiBeginTransaction 함수에서 연 트랜잭션에 속하는 시스템의 변경 내용을 실행 취소합니다.
MSITRANSACTIONSTATE_COMMIT
트랜잭션에 속한 시스템에 대한 모든 변경 내용을 커밋합니다. 사용자 지정 작업 커밋을 실행하고 Win32 또는 공용 언어 런타임 어셈블리에 대한 변경 내용을 시스템에 커밋합니다. 롤백 스크립트를 삭제하고 이 옵션을 사용한 후에는 롤백 설치를 사용하여 트랜잭션의 변경 내용을 더 이상 실행 취소할 수 없습니다.

반환 값

MsiEndTransaction 함수는 다음 값을 반환합니다.

의미
ERROR_ACCESS_DENIED
트랜잭션은 현재 소유자만 종료할 수 있습니다.
ERROR_INSTALL_FAILURE
트랜잭션에 속하는 설치를 완료할 수 없습니다.
ERROR_INSTALL_ALREADY_RUNNING
트랜잭션에 속하는 설치는 아직 진행 중입니다.
ERROR_ROLLBACK_DISABLED
트랜잭션에 속하는 설치가 완료되지 않았습니다. 설치하는 동안 DisableRollback 작업은 패키지 의 롤백 설치를 사용하지 않도록 설정했습니다. 설치 관리자는 롤백이 사용하지 않도록 설정된 지점까지 설치를 롤백하고 함수는 이 오류를 반환합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Server 2012, Windows 8, Windows Server 2008 R2 또는 Windows 7의 Windows Installer 5.0. Windows Vista, Windows XP, Windows Server 2003 및 Windows Server 2008의 Windows Installer 4.5. Windows Installer 버전에 필요한 최소 Windows 서비스 팩에 대한 자세한 내용은 Windows Installer 런타임 요구 사항을 참조하세요.
대상 플랫폼 Windows
헤더 msi.h
라이브러리 Msi.lib
DLL Msi.dll

추가 정보

여러 패키지 설치