2012-03-06 5 views
2

가능한 중복 :
Outputed py2exe exe won't run only when signed: ImportErrorcxfreeze windows 실행 파일에 디지털 서명 하시겠습니까?

내가 파이썬 3.2를 사용하여 프로그램을 제작하고있다. cxfreeze를 사용하여 스크립트를 실행 파일로 만듭니다. 고정 된 실행 파일은 변경하지 않고 실행하면 정상적으로 실행됩니다. signtool.exe을 사용하여 실행 파일에 서명하려고하면 exe가 ImportError이됩니다. 고정 된 python3 실행 파일에 디지털 서명하는 방법이 있습니까?

감사합니다.

+0

@STATUS_ACCESS_DENIED 언급 된 링크의 질문 (및 제공된 솔루션)은 python 2.x와 관련이 있습니다. py2exe와 pyinstaller는 파이썬 3.x에서는 사용할 수 없습니다. 감사합니다 – simha

+0

여전히 그들은 같은 방식으로 작동하는 것. 링크 된 주제를 읽으면 그 접근 방식이 효과가없는 이유를 알 수 있습니다. 그것은'signtool'이 기본적으로 스텁이 파이썬 코드를 실행하는데 필요한 오버레이/페이로드를 손상시키기 때문입니다. – 0xC0000022L

+0

[pyinstaller] (http://stackoverflow.com/a/7199367/538850) 솔루션은 python3에서 작동하지 않으므로 문제는 동일하지만 해결 방법은 아님을 이해합니다. 그래서 나는 python3에 대해 별도의 질문을 게시하는 것이 적절할 것이라고 생각했다. 어쨌든, 링크 및 설명 주셔서 감사합니다. – simha

답변

1

:

뿐만 아니라 실행 파일을 생성하기위한 세 가지 옵션이 있습니다

. 버전의 cx_Freeze에서 사용 가능한 첫 번째 옵션은 실행 파일 자체에 zip 파일을 추가하는 것입니다. 두 번째 옵션은 실행 파일과 이름이 같지만 확장자가 .zip 인 개인 zip 파일 을 작성하는 것입니다. 최종 옵션은 library.zip이라는 zip 파일을 만들고이 zip 파일에 모든 모듈을 배치하는 기본값입니다.

내 생각으로는 중복되는 주제 here을 읽을 때 이것이 실패하는 이유는 분명합니다. 다른 언어 버전입니다. 다른 도구 예. 다른 접근법, 안돼! 이 오류로 인해 첫 번째 옵션을 사용하고 signtool이 페이로드를 방해한다는 것을 알 수 있습니다.

+0

세 번째 옵션을 사용하면 문제가 해결됩니다. 다시 한번 감사드립니다. – simha

0

내가 아는 한, signtool.exe는 .NET 기반 응용 프로그램에만 서명 할 수 있습니다. 앱이 .NET 기반이 아니기 때문에이 오류 (예외)가 발생합니다. here에서

+2

_signtool_은 .NET 바이너리에 서명하지 않습니다. 귀하의 혼동은 .NET SDK와 함께 제공된다는 사실에서 비롯 될 수 있지만 Windows SDK도 함께 제공됩니다. – pezcode

+0

... 및 WDK. – 0xC0000022L

+0

이 사람에 대해 죄송합니다! 둘 다 옳습니다. 이 문제를 해결해 주셔서 감사합니다. :-) – mox