2012-06-15 4 views
0

내가 말하는 응용 프로그램은 vb6 (80 %)와 C#, .NET Framework 4.0 (20 %)로 구성됩니다. 모든 새 구성 요소는 C#으로 생성됩니다. Microsoft Interop Forms Toolkit 2.1을 사용하면 나중에 VB6에 포함시킬 COM UserControls를 만들 수 있습니다. Forms의 경우 일반 클래스를 사용하여 vb6 (COM Visible 프로젝트)에서 만들고 엽니 다. 우리는 현명하게 사용하는 설정을 만들 수 있습니다.지혜와 COM Interop DLL을 등록

모든 것이 정상적으로 작동합니다. - 문제는 개발자가 아닌 컴퓨터에 현명한 설정으로 응용 프로그램을 설치할 때만 발생합니다.

기존 interop 툴킷 프로젝트에 C# Form을 여는 클래스를 추가했습니다. 개발자 컴퓨터에서 잘 작동하며 또한 PC (비 dev-machine)에 새 설치를 할 때도 작동합니다. 새로운 클래스는 폼을 여는 데 사용됩니다.

하지만 우리 응용 프로그램을 최신 버전으로 업데이트하면 해당 클래스가 더 이상 작동하지 않습니다. 이전 버전을 제거하고 새 버전을 설치해야 다시 작동합니다.

누구나 전에도 비슷한 문제가 있었습니까?

이 나는 ​​Windows 설치에 문제와 업그레이드하는 동안 시퀀싱처럼 이것은 보인다 조언

+0

"더 이상 작동하지 않습니다"를 정의 할 수 있습니까? – tcarvin

+0

vb6에서 interop 툴킷 프로젝트에 추가 한 새 클래스에 액세스 할 수 없습니다. 새로 추가 된 클래스가 아니라 기존의 usercontrol 만 사용할 수 있습니다. 어떻게 든 업데이 트가 새 DLL을 부패 ... 설명하는 방법을 잘 모르겠다 .. – Fabian

+2

내가 무슨 뜻인지, 당신은 그것이 작동하지 않는다는 무엇입니까? 시작시 응용 프로그램이 충돌하거나 업데이트하려고 시도한 새 기능에 액세스 할 때 오류가 발생합니다. 어떤 오류 메시지가 나타 났습니까? 또한 전체 제거/재설치가 작동하는 경우 어떤 메커니즘을 사용하여 "업데이트"합니까? 당신이 할 수있는 모든 세부 사항을 나열하십시오, 오직 도움이 될 수 있습니다. – tcarvin

답변

1

대한 감사드립니다. 애플리케이션에서 나란히 설치할 수 있습니까 (예 : 버전 1과 버전 2를 동시에 설치할 수 있음) 또는 설치 프로그램이 이전 버전을 최신 버전으로 업그레이드합니까? 설치 로깅을 시도하고 로그 파일을 검토하여 설치/업그레이드 프로세스 중에 발생한 상황을 정확히 볼 수 있습니다.

당신이 더 큰 통찰력을 제공 문제를 디버깅하기 위해 노력을 집중 도움이 될 수 Msiexec from a command line.

를 호출하여 MSI 설치를 로그인 할 수 있습니다.

편집

당신이 설명한 바로는 예상대로 새로 설치에이 작품을 설치하는 것이 보인다. 이전 버전을 업그레이드하면 COM Interop 구성 요소가 제대로 등록되지 않은 것으로 보입니다. 이는 구성 요소가 기계에 복사되고 등록 된 시간 대 기존 제품이 제거 된시기와 관련하여 이벤트 순서가 다소 어둡다는 표시 일 수 있습니다. 정확히 일치하지는 않지만 자세한 내용은 SO Question and answer을 참조하십시오. 또한 자세한 내용은 Windows Installer에서 RemoveExistingProducts 작업을 확인하십시오.

문제없이 작동하는 것으로 알려진 설치 (예 : "클린"컴퓨터)를 로그 한 다음 실패한 설치 (예 : 업그레이드)를 기록한 다음 도구를 사용하여 두 로그 파일을 비교합니다 출력이 동일한 지 확인하십시오. 그렇지 않다면, 그것은 당신에게 어디를보아야하는지에 대한 단서를 제공합니다. 동일하다면 공급 업체와 계약을 맺고 문제의 원인을 파악하는 데 도움이되는지 확인해야합니다.

+0

Google 시스템은 이전 버전을 최신 버전으로 업그레이드합니다. 우리는 나란히 설치할 필요가 없습니다. 이미 msi 로그를 시도했지만 문제의 원인을 찾을 수 없습니다. 우리가 검색해야 할 것은 무엇입니까? – Fabian

+0

@Fabian 자세한 내용은 편집을 참조하십시오. –

+0

이 유용한 링크와 힌트를 보내 주셔서 감사합니다! 나는 지금 다른 문제로 좀 바쁩니다 만 가능한 한 빨리이 문제를 해결하고이 스레드를 업데이트하려고 노력할 것입니다. – Fabian