카테고리:

4 분 소요

Sysprep?

Sysprep(System Preparation Tool)은 Windows를 여러 컴퓨터에 배포할 수 있도록 PC 고유 정보를 제거해 ‘일반화된 상태’로 되돌리는 도구이다. 이 과정을 거치면 Windows는 특정 컴퓨터에 종속되지 않은 상태가 되며, 이를 이미지로 캡처해 다른 PC에 설치할 때 사용할 수 있다. 이후 새 PC에서 해당 이미지로 부팅 디스크를 구성하고 부팅하면 OOBE(Out-Of-Box Experience) 화면이 나타나 사용자 정보와 초기 설정을 다시 진행하게 된다.

즉, 프로그램과 설정을 미리 구성한 뒤, PC 고유 정보만 제거한 ‘나만의 커스터마이징된 Windows 이미지’를 만들어 여러 컴퓨터에 동일하게 배포할 수 있는 것이다. 이렇게 이미지를 한번 만들어두면 여러 PC에 동일한 프로그램과 설정이 필요할 때 쉽게 구성하여 사용할 수 있다.

문제 상황

대부분의 유틸들은 Sysprep 일반화 과정에서 문제 없이 진행되지만, 특정 프로그램에서 아래와 같이 설치의 유효성을 검사할 수 없다는 오류를 뿜어낸다.

시스템 준비 도구 Sysprep에서 Windows 설치의 유효성을 검사할 수 없습니다. 문제를 해결한 후 Sysprep을 사용하여 설치 유효성을 다시 검사하십시오.

해결 방안

이런 상황에서는 보통 오류 메시지를 따라가 한줄씩 읽어보면 문제가 해결된다. 아래는 오류 메시지의 일부이다.

SYSPRP Package BandizipShellext2_1.0.0.3_x64__y8jx0atjth7em was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image.
SYSPRP Failed to remove apps for the current user: 0x80073cf2.
SYSPRP Exit code of RemoveAllApps thread was 0x3cf2.
SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'SysprepGeneralizeValidate' from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2
SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2
SYSPRP RunPlatformActions:Failed while validating Sysprep session actions; dwRet = 0x3cf2
SYSPRP RunDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x3cf2
SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80073cf2

위의 상황에서는 반디집의 BandizipShellext2 기능 때문에 Sysprep 일반화가 실패한 것이다. 정확히는 특정 사용자에게만 설치된 UWP 앱(BandizipShellext2) 때문에 Sysprep /generalize가 실패한 것인데, Sysprep은 모든 사용자에게 동일하게 적용되는 Windows 상태만 허용하기 때문이다.

보통 해결하는 방법은 두가지로 나뉜다. 위의 문제되는 AppxPackage를 제거하거나, UWP로 개발된 버전이 아니라 MSI/EXE 데스크톱 버전을 사용하는 방법이다.

아래는 문제되는 AppxPackage를 제거하는 PowerShell 코드이다.

get-appxpackage BandizipShellext* | Remove-AppxPackage

문제는 위와 같은 코드로 문제가 되는 해당 기능을 제거하였으므로, Sysprep 일반화에는 성공할 지 몰라도 해당 프로그램의 일부 기능이 제한되는 문제가 생길 수도 있다. 위의 경우에는 우클릭 메뉴에서 반디집 항목이 제거되는 결과가 발생한다.

사실 실무에서는 해당 메시지가 출력되면 꼭 필요한 유틸이 아닌 경우에는 포함하지 않고 이미지를 만들거나, 구버전(UWP로 개발된 버전이 아니라 MSI/EXE 데스크톱 버전)을 포함하여 이미지를 만든다.

태그: AppxPackage, AppxSysprep.dll, BandizipShellext2, OOBE, Out-Of-Box Experience, PowerShell, Sysprep, System Preparation Tool, UWP, Windows, 설치 유효성, 유효성, 이미지, 일반화

업데이트:

정보의 바다를 헤엄치는 수달의 마음으로

syudal 이미지 프로필