Vista/VC8/ActiveX 작업

프로그래밍 일반에 관한 포럼입니다.

Moderator: 류광

Locked
김현중
Posts: 4
Joined: 2006-12-13 23:04

Vista/VC8/ActiveX 작업

Post by 김현중 »

Vista에 VC8을 설치한 후, XP에서 줄곧 작업했던 ActiveX 소스를 컴파일 하니,
다음과 같은 컴파일 에러를 출력하였습니다.
A tool returned an error code from "Registering ActiveX Control..."
Vista에서 보안관련 지켜줘야될 규약이 있는것으로 알고 있는데요.
그것과는 상관없이..
툴 자체 호환성이 유지되지 못해 나는 에러입니다.
regsvr32와 관련한듯 한데요.
주위에 이와 같은 현상을 해결하신 분이 있으면 답글 부탁드리겠습니다.
게임 관련 포럼이지만 올려봅니다.^^
비회원

개골이

Post by 비회원 »

안녕 하세요~

저 같은 경우는(비스타 사용X) 그런 오류의 경우가

생성된 activeX에서 사용하는 관련 DLL같은 라이브러리 화일이 해당 폴더에 없어서

발생 하는경우가 있었습니다. 그래서 activex의 설치 경로 혹은 실행 경로 폴더에

관련 DLL등을 넣어서 해결 했습니다. (결국은 OCX가 등록이 되지 않아 발생했던 오류)

비스타의 경우라면 추측이지만 administrator계정 사용, UAC비활성화, 관리자 권한으로의 실행

등으로 해결 할 수 있지 않을까 싶습니다..
landlore
Posts: 2
Joined: 2005-10-14 20:16

비주얼 스튜디오 2003에서 제가 해본 방법인데 잘 되실지..;;

Post by landlore »

Vista에서는 Windows 폴더를 포함한 몇몇 폴더 내의 접근을 Administrator만이 가능하도록 임의로 지정해놓은
듯 합니다. 대략 제가 한 방법은 다음과 같습니다.

C:\Windows\system32 폴더에 가시면 regsvr32.exe 프로그램이 있습니다.

이것을 임의의 유저가 접근가능한 폴더로 복사합니다.

복사한 파일을 오른쪽 클릭 해보시면 실행권한을 바꾸어주는 부분을 찾으실수 있습니다.
(음.. 정확한 위치가 기억이 안나는 군요.. 지금 옆에 비스타가 없는 관계로..)

이제 비주얼스튜디오로 돌아오셔서 프로젝트 속성페이지 > 빌드이벤트 > 빌드후 이벤트에서
- regsvr32 /s /c "$(TargetPath)" [변경전]
- c:\임의의폴더\regsvr32 /s /c "$(TargetPath)" [변경후]

바꾸시면 됩니다.

두어달 전에 작업한 내용이기도 하고.. 약간 가물가물한 부분이 있어서 잘되실지 모르겠네요..


네X버 지X인 에서 검색했을때 나온 내용 참고로 해서 수정했던 부분입니다.
잇힝 배울게 너무 많아요
비회원

Post by 비회원 »

답변해 주신 분들 감사드립니다.
우선 관리자권한으로 실행하는 등의 이슈와는 무관하게..
툴에서 뱆어내는 오류라서 regsvr32관련인것만 알고 있었는데..
두번째 님께서 답해주신 분의 답이 해결책이 될것 같군요.
감사드립니다.
비회원

Post by 비회원 »

음.. 해결될줄 알고 답글을 먼저 달았었는데..
안되는군요..

우선 말씀하신데로..
regsvr32.exe는 system32에서 복사해서
C:\Users\유저이름\Desktop\ICSActiveXSource 폴더를 만들어 복사했고,
관리자 권한으로 바꿨습니다.

vc8 셋팅은 Properties -> Build Event -> Post-Build Event 에서
Command Line : C:\Users\유저이름\Desktop\ICSActiveXSource\regsvr32 /s /c "$(TargetPath)"
Excluded From Build : YES

위와 같이 셋팅하였습니다.

해결책이 맞다면..
위 두가지 부분에서 문제를 찾을수 있을텐데요.

1.regsvr32.exe의 복사된 위치의 문제
2.Command Line의 잘못된 작성

위 두가지로 볼수 있을것 같습니다.

문제가 보이시는지요?ㅠㅠ
landlore
Posts: 2
Joined: 2005-10-14 20:16

특별히 잘못된 부분은 없어보이는데요.

Post by landlore »

먼저 cmd 창을 여신후에 C:\Users\유저이름\Desktop\ICSActiveXSource\regsvr32 로 실행이 되는지
확인을 해보시고, 풀 패스가 잘못되었을 수도 있으니 regsvr32.exe의 풀패스 앞뒤에 " 를 붙여서 해보시고요.

"C:\Users\유저이름\Desktop\ICSActiveXSource\regsvr32.exe" /s /c "$(TargetPath)"

그래도 안되신다면 C:\CUSTOM 이라는 폴더를 하나 만드시고 권한 조정하신 후에 해보시면 될듯합니다.
(지금 작업환경이 VISTA도 없고 비주얼스튜디오 2005도 없는 관계로 답변드리기가 좀 애매하네요;;;)
잇힝 배울게 너무 많아요
비회원

컴파일러 호환성 문제 (error PRJ0019: A tool returned an erro

Post by 비회원 »

컴파일러 호환성 문제
(error PRJ0019: A tool returned an error code from "Registering ActiveX Control...")

■원인
- 컴파일러의 소스 코드 빌드 후 regsvr32를 통해 ocx의 등록이 이뤄지는 부분에서 권한 문제로 인해 발생되는 문제

■해결책1 (실패)
- 쓰기 가능한 폴더를 생성한 후 c:/windows\system32\regsvr32.exe 복사
- regsvr32 관리자 권한으로 실행 하도록 체크
- vc8 Properties > Post-Build Event > Command Line을 [복사경로\regsvr32 /s /c "$(TargetPath)"] 로 고침

■ 해결책2 (성공)
- vc8 실행파일 우클릭 -> 관리자 권한으로 실행 체크


위 두가지 해결책중 2번째것으로 일단은 해결을 했습니다.
Locked