나는 우리가 정확히 같은 상황이이 스레드등록 32 비트 및 64 비트 모두 DLL을
How do I install both 32-bit and 64-bit versions of a COM DLL and "auto-select"?
로 다스 려하고있다. 같은 프로젝트에서 동일한 CLSID App ID를 가진 Dll 32 비트 및 64 비트 네임 스페이스 확장. 이제이 두 DLL을 등록하면 완벽하게 작동합니다. 등록을 취소하면 오류가 발생합니다. 첫 번째 등록이 작동하지만 두 번째 등록이 실패합니다. Windows (?)는 Dll이 이미 등록이 취소되었다고 생각하기 때문에 ...
두 개의 Dll에 다른 CLSID 및/또는 App ID가 필요합니까 ???
종류와 관련, 마이클
편집 : 여기의 DllUnregisterServer가하는 작업은 다음과 같습니다
STDAPI DllUnregisterServer(void){
_AtlModule.UpdateRegistryAppId(FALSE);
HRESULT hRes2 = _AtlModule.UnregisterServer(TRUE);
if (hRes2 != S_OK)
return hRes2;
AFX_MANAGE_STATE(_afxModuleAddrThis);
if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE))
return ResultFromScode(SELFREG_E_CLASS);
return NOERROR;
}
나는 "약간의 오류"가 무엇이 잘못되었는지에 대한 아이디어를 줄 것입니다. – sharptooth
자세한 내용을 확인하면 오류 코드 0x8002801c가 표시됩니다. –