2010-08-08 3 views
0

Office 2007 C# 추가 기능을 개발했습니다. 그것은 배포를 위해 클릭을 사용합니다. Office 2010을 사용하는 시스템에서는 모두 정상이지만 XP SP3, NET 3.5sp1 및 Office 2007이 설치된 컴퓨터에서는 이상한 어셈블리 로딩 오류가 발생합니다.Clickonce Office 추가 기능 어셈블리 참조 문제 배포시

내 추가 기능은 직접 Microsoft.Office.Interop.SmartTag.dll을 참조하지 않습니다. 이것은 내 추가 기능에서 참조되는 Microsoft.Office.Tools.Commmon.v9.0.dll에 의해 참조됩니다.

클릭하여 추가 기능을 설치하면 추가 기능의 로컬 설치 폴더에서 Microsoft.Office.Interop.SmartTag.dll을 찾을 수 없다는 오류가 발생합니다. Microsoft.Office.Tools.Commmon.v9.0.dllMicrosoft.Office.Interop.SmartTag.dll은 모두 올바른 버전의 GAC에 있습니다.

나는 Reflector을 사용하여 문제를 찾아 냈지만 GAC에서 DLL을 쉽게 찾아서 Microsoft.Office.Interop.SmartTag.dll 참조를 해결합니다.

제 Clickonce 설치가 실패하는 이유는 무엇입니까? 필요한 어셈블리가 있지만 GAC는 분명히 논의되지 않습니다.

매니페스트 레지스트리 값에 |vstolocal을 추가하면 모든 것이 예상대로 작동하지만 여전히 처음에 오류가 발생하는 이유가 궁금합니다.

답변

1

배포에 PIA를 배포하고 VSTO 런타임을 배포하고 있습니까?

+0

VSTO - 예, PIA - 아니요. Office 2007은 PIA가 이미 일반 설치로 설치되었으므로 필요하지 않습니다. 그럼에도 불구하고 특정 시스템에 모든 필수 구성 요소가 이미 설치되어 있기 때문에 이는 문제가되지 않습니다. – wpfwannabe

+0

Office 2007이 설치되어 있기 때문에 이미 설치된 PIA에만 의존 할 수 없습니다. 이 내용은 Office 2010에는 해당되지만 2007에는 적용되지 않습니다. – RobinDotNet

+0

사전 설치된 PIA에 의존 할 수없는 이유에 대해 자세히 설명해 주실 수 있습니까? '| vstolocal'을 추가하면, 내 추가 기능이 예상대로 작동합니다. 그래서 모든 것이 * 설치되어 있습니다. – wpfwannabe

관련 문제