2008-10-15 6 views
1

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

내가 설치 후, 나는 내가 믿는 무작위로 보이는 문자열을 포함하는 내 구성 요소에 대한 레지스트리에있는 InprocServer32 값을 가지고 내가 존재하는 경우 일반 텍스트 경로 위치를 무시합니다 이해 다윈 설명을하고 있습니다 알 수 있습니다. regsvr32를 수동으로 실행할 때 이러한 Darwin 설명자가 사라집니다. 현재의 가설은이 디스크립터로 인코딩 된 정보가 올바르지 않기 때문에 내 프로그램이 COM 구성 요소를 인스턴스화하려고 할 때 DLL에 대한 일반 텍스트 경로가 올바른 경우에도 잘못된 Darwin 설명자 정보를 사용하고 실패합니다.

이 경우에 내가 볼 수있는 방법을 밝히고,이 설명자를 디코딩하고, InstallShield가 Darwin 설명자를 생성하지 못하도록하거나, 아니면 설치 프로그램을 고칠 수 있습니까?

미리 감사드립니다.

답변

1

나는 원래의 .MSI로 COM 엔트리 포인트를 추적하는 윈도우 인스톨러 서비스가되도록 다윈 설명자를 이해합니다. 그래서 삭제되면 .dll을 치료할 수 있습니다. MSI는 실제 값을 보유합니다.

아마도 COM 정보를 다시 작성했기 때문에 컴퓨터에서 MSI를 제거했다가 다시 설치했기 때문에 msiexec은 전체 설치가 아닌 유지 관리 설치를 수행하는 것이 아닙니다.

+0

설치 프로그램을 작성중인 컴퓨터에서 MSI를 제거 했습니까? 이것은 깨끗한 Windows XP 가상 머신 인 설치 프로그램을 설치하는 컴퓨터와는 별도의 컴퓨터입니다. 나는 MSI를 제거하지 않았다. ... 나는 심지어 내가 어떻게 항상 알고 있는지도 모르지만, 현재 VM에서 중요하지 않아야한다. – NeilDurant