서비스, 파일, 만든 폴더 및 레지스트리 항목에 대한 액세스 권한을 설정하는 Windows Installer의 기능은 설치 애플리케이션을 보다 안전하게 만드는 데 도움이 될 수 있습니다. MsiLockPermissionsEx 또는 LockPermissions 테이블을 사용하여 리소스를 보호하는 것은 보안 설치 작성에 권장되는지침 중 하나입니다. MsiLockPermissionsEx 테이블을 사용하면 패키지 작성자가 사용자 지정 작업작성하지 않고도 리소스를 보호할 수 있습니다.
Windows Installer 5.0용으로 개발된 패키지부터 MsiLockPermissionsEx 테이블은 LockPermissions 테이블의 사용을 대체해야 합니다. MsiLockPermissionsEx 테이블에서 제공하는 확장 기능을 사용하면 패키지에서 Windows Services, 파일, 폴더 및 레지스트리 키를 보호할 수 있습니다. 패키지에는 MsiLockPermissionsEx 및 LockPermissions 테이블이 모두 포함되어서는 안 됩니다.
Windows Installer 4.5 이하에서는 MsiLockPermissionsEx 테이블무시합니다. Windows Installer 5.0부터 패키지에 LockPermissions 테이블 및 MsiLockPermissionsEx 테이블이 모두 포함된 경우 1941 오류 메시지와 함께 설치가 실패합니다. LockPermissions 테이블만 포함된 기존 설치 패키지는 Windows Installer 5.0을 사용하여 계속 설치할 수 있습니다.
Windows Installer 5.0은 MsiLockPermissionsEx 테이블에서 InstallFiles, InstallServices, WriteRegistryValues 및 CreateFolders 표준 작업을 실행할 때 정보를 처리합니다. 보안 개체를 설치하거나 다시 설치하여 보호해야 하며 해당 개체를 다시 설치하지 않고 기존 개체에 ACL(Access Control List)을 추가할 수 없습니다.
보안을 유지하는 서비스, 파일, 디렉터리 또는 레지스트리 키를 지정하려면 MsiLockPermissionsEx 테이블의 LockObject 및 테이블 필드에 식별 정보를 입력합니다. 개체는 ServiceInstall 테이블, 파일 테이블, 레지스트리 테이블또는 CreateFolder 테이블 기본 키로 식별됩니다.
지정한 사용 권한이 개체에 적용되도록 요청하려면 유효한 SDDL(보안 설명자 정의 언어)을 사용하여 MsiLockPermissionsEx 테이블의 SDDLText 필드에 유효한 보안 설명자 문자열을 입력합니다. MsiLockPermissionsEx 테이블은 사용 권한을 거부하거나, 부모 리소스의 사용 권한 상속을 지정하거나, 새 계정의 사용 권한을 지정하는 보안 설명자를 지정할 수 있습니다. 부여, 거부 또는 상속할 수 있는 모든 사용 권한 목록은 ACE 문자열참조하세요. Windows Installer 5.0은 사용 가능한 SID(보안 식별자) 집합을 확장합니다. 유효한 SID 목록은 SID 문자열참조하세요.
메모
부모 리소스의 보안 설명자를 구성하여 해당 사용 권한을 자식 개체에 상속하도록 지정하려면 설치 관리자가 자식 개체를 만들기 전에 부모 리소스에 사용 권한을 적용해야 합니다. 부모 리소스에 상속 가능한 권한을 적용하기 전에 설치 관리자가 자식 개체를 만드는 경우 부모 리소스의 사용 권한은 자식 개체에 전파되지 않습니다.
Windows Installer 5.0부터 FormattedSDDLText 데이터 형식은 형식의 데이터 형식을 확장합니다. Windows Installer는 MsiLockPermissionsEx 테이블의 SDDLText 열에 입력된 FormattedSDDLText 문자열이 보안 설명자 문자열 형식준수하는지 확인합니다.
Windows Installer 4.5 이전: 지원되지 않습니다. MsiLockPermissionsEx 테이블 및 FormattedSDDLText 데이터 형식은 Windows Installer 5.0부터 사용할 수 있습니다.