2009-08-16 7 views
4

작성한 설치 패키지에서 Inno Setup을 사용하여 COM DLL을 등록하려고합니다. Vista에서 테스트 설치하는 동안이 오류가 얻을 :DLL/OCX를 등록 할 수 없습니다 : RegSvr32가 Inno Setup에서 종료 코드 0xC0000005로 실패했습니다. 5.2.3

Unable to register the DLL/OCX: RegSvr32 failed with exit code 0xC0000005

내가 클릭 "무시"내 응용 프로그램이 설치 나타납니다,하지만 난 다음를 설치하는 명령 (관리자로) 프롬프트 다음에 regsvr32를 열 필요가 COM DLL. Inno Setup에서이 작업을 자동으로 수행 할 수있는 방법이 있습니까?

+0

안녕하세요? (귀뚜라미 짹짹) –

답변

2

는 자체 등록 (즉 regsvr32), 마이크로 소프트는 이유에 대한 자세한 정보를 제공합니다 사용하지 마십시오 이유는 Windows Installer documentation.

가장 일반적으로, 응용 프로그램을 찾고 특정 종속성이 아직 존재 (즉, 마이크로 소프트 DLL을하지 않습니다에 귀하의 앱과 함께 배포 됨).

InnoSetup은 레지스트리 항목을 쓸 수 있습니까? 그게 전부입니다 regsvr32 ... 당신은 regsvr32 장소에 넣을 수있는 관련 레지스트리 정보를 추출하고 다음 Innopetup 코드로 다시 손으로 포트 것입니다 WiX 도구 열을 사용할 수 있습니다.

+0

이것에 대해 확실합니까? Inno Setup은 실제로 DLL이나 OCX를 설치하기 위해'regsvr32'를 사용하지 못합니다. 모든 Windows Installer 기능은 IMO를 돕지 않습니다. – mghie

+1

InnoSetup으로 레지스트리 항목을 쓸 수 없습니까? 그게'regsvr32'가 성취 한 전부입니다 ... 당신은'regsvr32'가 놓을 관련 레지스트리 정보를 추출하기 위해 WiX 도구'heat'를 사용할 수 있습니다. 그런 다음 InnoSetup 코드로 직접 가져 가면됩니다. – saschabeaumont

+0

흥미로운 정보입니다. 그것을 당신의 대답에 넣으면 나는 투표 할 것입니다. Inno 설치 프로그램은 반드시 레지스트리에 쓸 수 있습니다. 하지만 OP가 가지고있는 문제에 영향을 미치지는 않을 것이라고 생각합니다.이 문제는 권한 문제와 유사합니다.이 경우 레지스트리에 쓰는 것이 실패 할 수도 있습니다. – mghie

1

가 0xc0000005 = EXCEPTION_ACCESS_VIOLATION DLL이에 regsvr32 충돌의 원인이되는 일을하고있다

.