문제

설치 프로그램에서 COM 정보를 새로 고치더라도 설치 설치 프로그램은 여러 COM DLL을 올바르게 등록하지 않습니다. 설치 후 수동으로 regsvr32를 실행하면 모든 것이 정상입니다.

설치 후에는 임의의 문자열이 포함 된 구성 요소에 대한 레지스트리에 inprocserver32 값이 있음을 알 수 있습니다. 다윈 설명자, 내가 이해하는 것은 현재의 경우 ClearText 경로 위치를 무시합니다. 수동으로 regsvr32를 실행하면이 다윈 설명자가 사라집니다. 내 현재의 가설은 이러한 디스크립터에서 인코딩 된 정보가 잘못되었다는 것입니다. 따라서 내 프로그램이 COM 구성 요소를 인스턴스화하려고 할 때 DLLS에 대한 명확한 텍스트 경로가 정확하더라도 잘못된 Darwin 디스크립터 정보를 사용하고 실패합니다.

누구든지 이것이 사실인지,이 설명기를 디코딩하고, 설치 실드를 Darwin 디스크립터를 생성하는 것을 중지하거나, 설치 프로그램을 수정하는 방법에 대해 어떤 조명을 흘릴 수 있습니까?

도움이 되었습니까?

해결책

Darwin Discriptors가 COM 엔트리 포인트를 원래 .msi로 다시 추적하는 Windows 설치 프로그램이라는 것을 이해합니다 (따라서 삭제 된 경우 .dll을 치유 할 수 있음). MSI는 실제 값을 보유합니다.

아마도 COM 정보를 재구성 한 이후로 컴퓨터에서 MSI를 제거하고 다시 설치했을 것입니다 (따라서 MSIEXEC는 완전 설치 대신 유지 보수 설치 만 수행하지 않습니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top