UWP app을 signtool.exe로 서명 시 0x8007000b 오류 발생
서명하려고 했는데, 다음과 같은 오류가 발생합니다.
C:\Windows\System32>"C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe" sign -f D:\temp\my.pfx -fd SHA256 -v "D:\bin\Output\Test_1.0.0.0_AnyCPU_Release.appx"
The following certificate was selected:
Issued to: FF0C054D-E196-498C-BB94-91FE1A2E0A2A
Issued by: FF0C054D-E196-498C-BB94-91FE1A2E0A2A
Expires: Sun Jan 01 08:59:59 2040
SHA1 hash: F975640E08AF299B5E1C2DA42C38C58A3F9FF70F
Done Adding Additional Store
SignTool Error: An unexpected internal error has occurred.
Error information: "Error: SignerSign() failed." (-2147024885/0x8007000b)
검색해 보니 다음의 글이 나오는데요.
How to sign an app package using SignTool
; https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-sign-a-package-using-signtool
Troubleshooting app package signing errors
If the error code starts with 0x8008, such as 0x80080206 APPX_E_CORRUPT_CONTENT), it indicates that the package being signed is invalid. In this case, before you can sign the package, you must rebuild the package. For the full list of 0x8008* errors, see COM Error Codes (Security and Setup).
More commonly, the error is 0x8007000b (ERROR_BAD_FORMAT). In this case, you can find more specific error information in the event log:
APPX_E_CORRUPT_CONTENT라고 합니다. 혹시나 해서 빌드 스크립트를 다시 돌렸는데, 자세히 보니 makeappx.exe 단계에서 다음과 같은 오류가 발생했습니다.
makeappx.exe
MakeAppx : error: Package creation failed.
MakeAppx : error: 0x80070005 - Access is denied.
그래서 .appx 파일을 생성하라고 지정했던 "D:\bin\Output" 폴더의 내용을 모두 삭제한 후 다시 빌드하는 것으로 해결했습니다. 정리하자면, 어떤 이유로 인해 .appx 파일이 잠겼고 makeappx.exe는 해당 파일을 접근할 수 없어 0x80070005 오류를 냈고 결국 제대로 패키지 생성을 못한 것이었습니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]