Visual C++를 사용하고 있습니다. 사용자가 관리자 인 경우에도 현재 사용자에 대해 등록 된 DLL 만 갖고 싶습니다.DLL 자체 등록 : 현재 사용자 만 등록하는 방법?
그런 이유로 나는 project.rgs
의 모든 참조를 HKCR로 변경했습니다. 그러나 regsvr32
을 사용하여 프로세스 모니터를 사용하여 DLL을 등록하면 여전히 HKCR\TypeLib\{ ... }
을 만들려고합니다. CComModule::RegisterServer()
로 전화하면이 문제가 발생합니다.
이것은 내재적으로 CComModule
입니까? Visual C++의 구성면에서 제가 빠진 것이 있습니까? 내가 RegOverridePredefKey
을 사용할 수 있다는 것을 알고 있지만, 더 많은 DLL을로드하고 싶지 않고 매우 우아한 솔루션이 아닙니다.
RegisterServer (..)의 BOOL 매개 변수는 사용자 별 제어가 아닌 typelib를 등록 할 것인지 여부입니다. –
네, 그렇습니다. 이 매개 변수는 typeplib을 등록하는 코드를 호출할지 여부를 제어합니다. OP의 문제는 그의 .rgs 파일이 레지스트리에 롤인 된 후 typlib 등록 코드가 호출되어 "HKCR \ TypeLib \ {Something} 키에 롤백됩니다." – sharptooth
글쎄, 등록하지 않으려 고합니다. 그것은 단지'HKCU \ Software \ Classes \ TypeLib'에 등록되도록하고 싶습니다. – known