패키지된 데스크톱 앱의 알려진 문제

이 문서에는 데스크톱 앱의 MSIX 패키지를 만들 때 발생할 수 있는 알려진 문제가 포함되어 있습니다.

예기치 않게 "GenerateResource" 작업이 실패했다는 MSB4018 오류 발생

위성 어셈블리를 PRI(Package Resource Index) 파일로 변환하려 시도할 때 발생할 수 있는 오류입니다.

저희는 이 문제를 알고 있으며 장기적인 솔루션을 찾고 있습니다. 임시 해결 방법으로 호스팅 프로젝트 파일의 첫 PropertyGroup 요소에 이 XML 줄을 추가, 리소스 생성기를 끌 수 있습니다.

<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>

블루 스크린, 오류 코드 0x139 (KERNEL_SECURITY_CHECK_FAILURE)

Microsoft Store에서 특정 앱을 설치하거나 실행한 후 컴퓨터가 0x139 (KERNEL_SECURITY_CHECK_ FAILURE) 오류로 인해 예기치 않게 다시 부팅될 수 있습니다.

영향을 받는 것으로 알려진 앱에는 Kodi, JT2Go, Ear Trumpet, Teslagrad 등이 포함됩니다.

2016년 10월 27일 릴리스된 Windows 업데이트(버전 14393.351-KB3197954)에는 이 문제를 해결하는 중요한 수정이 포함되어 있습니다. 이 문제가 발생하면 컴퓨터를 업데이트합니다. 로그인하기 전에 컴퓨터를 다시 시작해야 하기 때문에 PC를 업데이트할 수 없는 경우 시스템 복원을 사용하여 영향을 받는 앱 중 하나를 설치하기 전의 지점으로 시스템을 복구해야 합니다. 시스템 복원을 사용하는 방법에 대한 자세한 내용은 Windows 10의 복구 옵션을 참조하세요.

업데이트해도 문제가 해결되지 않거나 PC를 복구하는 방법을 잘 모를 경우 Microsoft 지원에 문의하세요.

개발자인 경우에는 이 업데이트가 들어 있지 않은 Windows 버전에서 패키지된 애플리케이션 설치를 차단하고 싶을 수 있습니다. 이렇게 하면 업데이트를 설치하지 않은 사용자는 이 애플리케이션을 사용할 수 없게 됩니다. 이 업데이트를 설치한 사용자만 애플리케이션을 사용할 수 있도록 제한하려면 AppxManifest.xml 파일을 다음과 같이 수정합니다.

<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.351" MaxVersionTested="10.0.14393.351"/>

Windows 업데이트에 대한 세부 정보는 다음 페이지에서 확인할 수 있습니다.

앱에 로그인할 때 나타날 수 있는 일반적인 오류

게시자와 인증서 불일치로 인해 Signtool 오류 "오류: SignerSign() 실패" (-2147024885/0x8007000b) 발생

Windows 앱 패키지 매니페스트의 게시자 항목은 서명한 인증서의 주체와 일치해야 합니다. 인증서의 주체를 보려면 다음 방법 중 하나를 사용할 수 있습니다.

옵션 1: Powershell

다음 PowerShell 명령을 실행합니다. .cer 또는 .pfx에는 동일한 게시자 정보가 있으므로 인증서 파일로 사용할 수 있습니다.

(Get-PfxCertificate <cert_file>).Subject

옵션 2: 파일 탐색기

파일 탐색기에서 인증서를 두 번 클릭하여 세부 정보 탭을 선택한 다음 목록에서 Subject 필드를 선택합니다. 그런 다음 내용을 복사할 수 있습니다.

옵션 3: CertUtil

PFX 파일의 명령줄에서 certutil을 실행하고, 출력에서 Subject 필드를 복사합니다.

certutil -dump <cert_file.pfx>

잘못된 PE 인증서(0x800700C1)

이 문제는 인증서가 손상된 이진 파일이 패키지에 포함된 경우에 발생할 수 있습니다. 이 문제가 발생할 수 있는 이유는 다음과 같습니다.

  • 인증서의 시작 부분이 이미지의 끝 부분에 없습니다.

  • 인증서의 크기가 양수가 아닙니다.

  • 인증서 시작 부분이 32비트 실행 파일의 IMAGE_NT_HEADERS32 구조 뒤 또는 64비트 실행 파일의 IMAGE_NT_HEADERS64 구조 뒤에 있지 않습니다.

  • 인증서 포인터가 WIN_CERTIFICATE 구조에 맞게 정렬되지 않았습니다.

잘못된 PE 인증서가 포함된 파일을 찾으려면명령 프롬프트를 열고, 라는 환경 변수를 1로 설정합니다.

set APPXSIP_LOG=1

그런 다음, 명령 프롬프트에서 애플리케이션을 다시 서명합니다. 예를 들면 다음과 같습니다.

signtool.exe sign /a /v /fd SHA256 /f APPX_TEST_0.pfx C:\Users\Contoso\Desktop\pe\VLC.appx

잘못된 PE 인증서가 포함된 파일에 대한 정보는 콘솔 창에 표시됩니다. 예를 들면 다음과 같습니다.

...

ERROR: [AppxSipCustomLoggerCallback] File has malformed certificate: uninstall.exe

...   

다음 단계

질문이 있으세요? Stack Overflow에서 질문하세요. 저희 팀은 이러한 태그를 모니터링합니다.