Microsoft MVP성태의 닷넷 이야기
오류 유형: 40. error PRJ0050: Failed to register output. [링크 복사], [링크+제목 복사],
조회: 23339
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 


Windows Vista에서의 레지스트리 쓰기 오류


VC++ COM 프로젝트에서, 빌드 후에 마지막 등록 과정에서 다음과 같은 오류 메시지가 발생하였습니다.

1>Finished generating code
1>comsuppwd.lib(comutil.obj) : warning LNK4049: locally defined symbol _free imported
1>comsuppwd.lib(comutil.obj) : warning LNK4049: locally defined symbol _malloc imported
1>Registering output...
1>Project : error PRJ0050: Failed to register output. 
      Please try to register the component from a command prompt with elevated permissions.
1>Build log was saved at "file://d:\...\debug\BuildLog.htm"
1>TestProject - 1 error(s), 2 warning(s)

수작업으로 regsvr32.exe를 통해서 등록을 시도하면 다음과 같은 오류 창이 나왔습니다.

cpp_activex_reg_problem_1.png

"
The module "......" was loaded but the
call to DllRegisterServer failed with error code 
0x80070005.

For more information about this problem, search
online using the error code as a search term.
"

등록 과정의 오류를 피하기 위해 아예 Orcas를 "Run as administrator"로 실행시켰는데도 여전히 위와 같은 오류가 나와서 당혹스러웠습니다.

뭐... ^^; 별수 없지요.

"Divide & Conquer"!

그렇게 하나씩 원인 추적을 하다 보니 결국 문제가 된 것이 RGS 파일에 있던 다음과 같은 내용이었습니다.

HKEY_CLASSES_ROOT\CLSID

NoRemove '{..........-.....-.....-.....-.............}' = s ''
{
  ForceRemove 'MyData' = s ''
  {
  }   
}

위와 같이 기존 등록된 COM 개체에 제가 사용할 부가적인 데이터를 기록해 보려 했는데 이를 변경하는 권한이 부족했던 것입니다.

순간, 아차 싶더군요.

"Program Files" 폴더에 있는 파일들을 변경하지 못하는 것에 대한 제약이, "레지스트리"의 일부 키에도 그대로 적용되는 것을 미처 고려하지 못했던 것이지요. 어쨌든, "TrustedInstaller"에게만 "Full Control"이 있었고, 그 외의 사용자(심지어 관리자까지도.)들은 읽기 권한만 있었습니다.

... 비스타 이전에는 오직 "관리자" 계정이기만 하면 무적이었는데. ^^



[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 4/10/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 166  167  168  169  170  [171]  172  173  174  175  176  177  178  179  180  ...
NoWriterDateCnt.TitleFile(s)
782정성태10/6/200932100개발 환경 구성: 51. Windows 7 - 다중 원격 접속(Remote Desktop) 허용
781정성태9/30/200928754.NET Framework: 163. WPF - TreeView 자동 스크롤 기능 해지 [2]파일 다운로드1
780정성태9/28/200932918Windows: 48. Windows 7/2008에서 ping을 위한 echo 요청 열기 [2]
779정성태9/24/200924272.NET Framework: 162. WPF - 중첩된 ScrollViewer의 크기 제어 - 두 번째 이야기파일 다운로드1
778정성태9/23/200925939오류 유형: 87. 시스템 시간 변경 후 Session이 맺어진 WCF 클라이언트의 예외 발생파일 다운로드1
776정성태9/17/200925027개발 환경 구성: 50. Reference assembly
775정성태9/13/200941712VC++: 37. XmlCodeGenerator를 C/C++ 코드 생성에 적용 [2]파일 다운로드1
773정성태9/5/200932387오류 유형 : 85. DEP 비호환 ActiveX 오류
772정성태9/2/200928674.NET Framework: 161. WPF - 윈도우 이벤트 가로채기 [1]파일 다운로드1
771정성태8/28/200922703.NET Framework: 160. WPF - 입력 포커스 외곽선 없애는 방법
770정성태8/26/200925340.NET Framework: 159. WCF - 같은 컴퓨터에서만 WCF 요청을 서비스하도록 설정
769정성태8/25/200928382개발 환경 구성: 49. GAC와 같은 Namespace Extension에 의해서 보여지는 폴더의 원본 확인 방법
768정성태8/24/200927857오류 유형: 85. WCF 연결 오류: MessageSecurityException
767정성태8/23/200935930.NET Framework: 158. 닷넷 프로파일러 - IL 코드 재작성 [14]
766정성태8/23/200936862.NET Framework: 157. C# 4.0 - dynamic 키워드 [4]파일 다운로드1
765정성태8/22/200930853.NET Framework: 156. XamDataGrid의 UnboundField 사용파일 다운로드1
764정성태8/21/200925007Windows: 47. Windows Virtual PC에 설치된 Windows 7 VPC에서 Aero 효과 사용 [3]
763정성태8/20/200928460Windows: 46. Windows 7 - XP 모드 응용 프로그램 바로가기 만드는 방법 [2]
762정성태8/18/200934027개발 환경 구성: 48. 개발자 PC 환경 - 유니코드(Unicode)를 위한 설정 [3]
760정성태8/17/200940574개발 환경 구성: 47. XmlCodeGenerator 1.0.0.4 업데이트 [2]
759정성태8/16/200932327.NET Framework: 155. 닷넷 프로파일러의 또 다른 응용: Visual Studio 2010 Historical Debugging
758정성태8/15/200925914VS.NET IDE: 65. WPF 프로젝트용 Visual Studio 패치들 [2]
757정성태8/12/200925332오류 유형: 84. TFS 작업 항목 보기 오류 - WorkItemTypeDeniedOrNotExistException
756정성태8/9/200924609오류 유형: 83. A revocation check could not be performed for the certificate.
755정성태8/6/200922278.NET Framework: 154. 이벤트 2중 구독
754정성태7/16/200934658VS.NET IDE: 64. Visual Studio 2010 - 64bit 혼합 모드 디버깅 지원
... 166  167  168  169  170  [171]  172  173  174  175  176  177  178  179  180  ...