패키지된 데스크톱 앱의 알려진 문제Known Issues with packaged desktop apps

이 문서에는 데스크톱 앱의 MSIX 패키지를 만들 때 발생할 수 있는 알려진 문제가 포함되어 있습니다.This article contains known issues that can occur when you create an MSIX package for your desktop app.

예기치 않게 "GenerateResource" 작업이 실패했다는 MSB4018 오류 발생You receive the error MSB4018 The "GenerateResource" task failed unexpectedly

위성 어셈블리를 PRI(Package Resource Index) 파일로 변환하려 시도할 때 발생할 수 있는 오류입니다.This can happen when trying to convert satellite assemblies to Package Resource Index (PRI) files.

저희는 이 문제를 알고 있으며 장기적인 솔루션을 찾고 있습니다.We are aware of this issue and are working on a more long term solution. 임시 해결 방법으로 호스팅 프로젝트 파일의 첫 PropertyGroup 요소에 이 XML 줄을 추가, 리소스 생성기를 끌 수 있습니다.As a temporary workaround, you can disable the resource generator by adding this line of XML to the first PropertyGroup element in hosting project file:

<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>

블루 스크린, 오류 코드 0x139 (KERNEL_SECURITY_CHECK_FAILURE)Blue screen with error code 0x139 (KERNEL_SECURITY_CHECK_FAILURE)

Microsoft Store에서 특정 앱을 설치하거나 시작한 후 머신이 0x139(KERNEL_SECURITY_CHECK_ FAILURE) 오류로 인해 예기치 않게 다시 부팅될 수 있습니다.After installing or launching certain apps from the Microsoft Store, your machine may unexpectedly reboot with the error: 0x139 (KERNEL_SECURITY_CHECK_ FAILURE).

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

2016년 10월 27일 릴리스된 Windows 업데이트(버전 14393.351-KB3197954)에는 이 문제를 해결하는 중요한 수정이 포함되어 있습니다.A Windows update (Version 14393.351 - KB3197954) was released on 10/27/16 that includes important fixes that address this issue. 이 문제가 발생하면 컴퓨터를 업데이트합니다.If you encounter this problem, update your machine. 로그인하기 전에 컴퓨터를 다시 시작해야 하기 때문에 PC를 업데이트할 수 없는 경우 시스템 복원을 사용하여 영향을 받는 앱 중 하나를 설치하기 전의 지점으로 시스템을 복구해야 합니다.If you are not able to update your PC because your machine restarts before you can log in, you should use system restore to recover your system to a point earlier than when you installed one of the affected apps. 시스템 복원을 사용하는 방법에 대한 자세한 내용은 Windows 10의 복구 옵션을 참조하세요.For information on how to use system restore, see Recovery options in Windows 10.

업데이트해도 문제가 해결되지 않거나 PC를 복구하는 방법을 잘 모를 경우 Microsoft 지원에 문의하세요.If updating does not fix the problem or you aren't sure how to recover your PC, please contact Microsoft Support.

개발자인 경우에는 이 업데이트가 들어 있지 않은 Windows 버전에서 패키지된 애플리케이션 설치를 차단하고 싶을 수 있습니다.If you are a developer, you may want to prevent the installation of your packaged application on versions of Windows that do not include this update. 이렇게 하면 업데이트를 설치하지 않은 사용자는 이 애플리케이션을 사용할 수 없게 됩니다.Note that by doing this your application will not be available to users that have not yet installed the update. 이 업데이트를 설치한 사용자만 애플리케이션을 사용할 수 있도록 제한하려면 AppxManifest.xml 파일을 다음과 같이 수정합니다.To limit the availability of your application to users that have installed this update, modify your AppxManifest.xml file as follows:

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

Windows 업데이트에 대한 세부 정보는 다음 페이지에서 확인할 수 있습니다.Details regarding the Windows Update can be found at:

앱에 로그인할 때 나타날 수 있는 일반적인 오류Common errors that can appear when you sign your app

게시자와 인증서가 일치하지 않으면 Signtool "Error: SignerSign() Failed" (-2147024885/0x8007000b) 오류가 발생합니다.Publisher and cert mismatch causes Signtool error "Error: SignerSign() Failed" (-2147024885/0x8007000b)

Windows 앱 패키지 매니페스트의 게시자 항목은 서명한 인증서의 주체와 일치해야 합니다.The Publisher entry in the Windows app package manifest must match the Subject of the certificate you are signing with. 인증서의 주체를 보려면 다음 방법 중 하나를 사용할 수 있습니다.You can use any of the following methods to view the subject of the cert.

옵션 1: PowershellOption 1: Powershell

다음 PowerShell 명령을 실행합니다.Run the following PowerShell command. .cer 또는 .pfx에는 동일한 게시자 정보가 있으므로 인증서 파일로 사용할 수 있습니다.Either .cer or .pfx can be used as the certificate file, as they have the same publisher information.

(Get-PfxCertificate <cert_file>).Subject

옵션 2: 파일 탐색기Option 2: File Explorer

파일 탐색기에서 인증서를 두 번 클릭하여 세부 정보 탭을 선택한 다음 목록에서 Subject 필드를 선택합니다.Double-click the certificate in File Explorer, select the Details tab, and then the Subject field in the list. 그런 다음 내용을 복사할 수 있습니다.You can then copy the contents.

옵션 3: CertUtilOption 3: CertUtil

PFX 파일의 명령줄에서 certutil을 실행하고, 출력에서 Subject 필드를 복사합니다.Run certutil from the command line on the PFX file and copy the Subject field from the output.

certutil -dump <cert_file.pfx>

잘못된 PE 인증서(0x800700C1)Bad PE certificate (0x800700C1)

이 문제는 인증서가 손상된 이진 파일이 패키지에 포함된 경우에 발생할 수 있습니다.This can happen when your package contains a binary that has a corrupted certificate. 이 문제가 발생할 수 있는 이유는 다음과 같습니다.Here's some of the reasons why this can happen:

  • 인증서의 시작 부분이 이미지의 끝 부분에 없습니다.The start of the certificate is not at the end of an image.

  • 인증서의 크기가 양수가 아닙니다.The size of the certificate isn't positive.

  • 인증서 시작 부분이 32비트 실행 파일의 IMAGE_NT_HEADERS32 구조 뒤 또는 64비트 실행 파일의 IMAGE_NT_HEADERS64 구조 뒤에 있지 않습니다.The certificate start isn't after the IMAGE_NT_HEADERS32 structure for a 32-bit executable or after the IMAGE_NT_HEADERS64 structure for a 64-bit executable.

  • 인증서 포인터가 WIN_CERTIFICATE 구조에 맞게 정렬되지 않았습니다.The certificate pointer isn't properly aligned for a WIN_CERTIFICATE structure.

잘못된 PE 인증서가 포함된 파일을 찾으려면명령 프롬프트를 열고, APPXSIP_LOG라는 환경 변수를 1로 설정합니다.To find files that contain a bad PE cert, open a Command Prompt, and set the environment variable named APPXSIP_LOG to a value of 1.

set APPXSIP_LOG=1

그런 다음, 명령 프롬프트에서 애플리케이션을 다시 서명합니다.Then, from the Command Prompt, sign your application again. 예:For example:

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

잘못된 PE 인증서가 포함된 파일에 대한 정보는 콘솔 창에 표시됩니다.Information about files that contain a bad PE cert will appear in the Console Window. 예:For example:

...

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

...   

다음 단계Next Steps

질문이 있으세요?Have questions? Stack Overflow에서 질문하세요.Ask us on Stack Overflow. 저희 팀은 이러한 태그를 모니터링합니다.Our team monitors these tags. 여기에서 문의할 수도 있습니다.You can also ask us here.