특히 GAC에 어셈블리를 설치하고 msxml3.dll에 기본 제공 DoRegisterTypeLib 작업이있는 .msi 설치 관리자를 만들었습니다. 그러나 (그리고 어떻게 든) 나쁜 msxml3.dll 버전 (Microsoft가 알고있는 8.70.1104.0)은 여전히 일부 최종 사용자의 PC에 있습니다. 그리고 msxml3.dll이 나쁜 버전 일 경우 DoRegisterTypeLib가 실패합니다 (오류 코드 11). 최종 사용자에게 .NET 설치를 "복구"하라는 메시지를 전합니다.사용자가 .NET 설치에서 "복구"를 선택하면 어떻게됩니까?
다시 말해서이 "복구"는 무엇을합니까? 특정/모든 Microsoft .dll을 업데이트합니까?
DoRegsiterTypeLib을 그 (또는 .dll)로 만들지 않아도, "Repair .NET"이 무엇을하는지 알고 싶습니다. 누구나 가지고있는 통찰력은 인정 될 것입니다!
gazillion 레지스트리 키를 다시 씁니다. 설치 관리자가 나쁜 DLL을 삭제하거나 레지스트리를 잃어 버릴 수있는 사항을 수정하는 작업은 Microsoft가 매일 처리해야하는 종류입니다. 직접이 일을 고려하지 마십시오. msxml3에 종속성을 가짐으로써 나쁜 설치자에게 자신을 드러내고 있습니다. msxml6으로 이동해야합니다. –
DoRegisterTypeLib 호출을해서는 안됩니다. 병합 모듈 만 사용하는 것과 별도로 수행하는 잠재적 인 문제 외에도 조건이 맞지 않으면 제품을 수리하는 동안 사용자 지정 작업이 실행될 수 있습니다. 잘못된 Dll typelib을 등록한 다음 NET 복구가 수정되면 사용자 정의 복구가 다시 실행됩니다. – PhilDW