본문 바로가기

Delphi/C++Builder

Delphi, C++Builder 64bit 실행 시 "Unable to ..." 오류 대응방법

최근 64bit용 어플리케이션 개발이 잦아지고 있습니다.


델파이와 C++빌더에서 64비트 개발 시 "Unable to create process." 오류가 발생해 정보를 찾다가 좋은 정보가 있어 공유합니다.



원글 - http://jsf3rd.blog.me/202981750

[색즉시공 공즉사색] 딸기(jsf3rd)님 블로그입니다. 좋은 정보가 아주 많습니다.



1번 오류 - Unable to scan program's header.

 

2번 오류 - Unable to create process.

 

------------------------------------------------------ 

 

델파이 버전은 XE5 Update2 입니다.

 

위 두 오류는 델파이 버전에 관계없이 종종 나오는듯 하더군요....

 

하여튼, 델파이에서 32bit 컴파일 및 디버깅은 잘 되는데...

 

Target Platform을 64bit로 변경하고 디버깅 또는 실행을 했을때 1번 또는 2번 오류가 발생할 경우 해결책입니다.

 

 

 

1번 오류는 매우 간단합니다.

 

exe가 생성되는 경로에 한글과 같은 유니코드가 없어야 합니다. 쉽게 말해서 프로젝트 경로에 한글을 사용하지 마십시오.

 

 

 

문제는 2번 오류 입니다. 

 

좀 복잡하구요. 구글검색을 해보면 여러 의견이있는데,

 

정리해보면...

 

- 델파이를 관리자 권한으로 실행

- 윈도우 방화벽 종료

- 백신 프로그램 종료

- 인터넷 보안 프로그램 종료

- Option - Application - runtime theme 설정 해제

 

등등 입니다.

 

이것저것 다 해봤는데.... 저의 경우에는 인터넷 보안 프로그램 때문이었습니다. 

 

그 놈의 이름은 Image Safer 입니다.

(MarkAny라는 회사의 화면보안 솔루션 - http://www.markany.com/wp/?page_id=116 )

 

작업 관리자에...

 

ImageSAFERStart_X64.exe

ImageSAFERStart_X86.exe

ImageSAFERSvc.exe

 

이런 놈들이 떠있다면 ImageSafer가 설치 된것입니다. 일단 깔리면 서비스로 동작합니다. ㅡㅡ^

 

이런경우 2번 오류로 인해 델파이에서 64bit로 디버깅 및 실행이 불가 합니다.

 

삭제 방법은 관리 - 서비스에서 [Image Protect Service] 를 찾아 종료 하시고 

 

아래 링크를 참고 하십시오.

-----------------------------------------------------------------------------

http://www.clien.net/cs2/bbs/board.php?bo_table=lecture&wr_id=101622

 

커맨드 창에서 실행

%windir%\imagesafersvc.exe -remove

 

바로 리부팅 후 관리자 권한으로 커맨드 창 실행

del %windir%\system32\imagesafer*

-----------------------------------------------------------------------------

 

결국 2번 오류는 델파이 자체 설정 보다는 보안관련 외부 프로그램의 영향을 받는것 같습니다.