2008-09-23 3 views
0

저는 배포 용 ClickOnce를 사용하는 .net 응용 프로그램 개발자입니다. 저는 60 번 이상 배포했으며 컴퓨터는 최신 릴리스를 다운로드하는 데 문제가 없었습니다. 그러나 오늘 아침에 배포 할 때 Office 2007이 설치된 컴퓨터에서 응용 프로그램을 시작하려고하면 다음 오류가 발생합니다.ClickOnce 앱이 Office 2007과 호환되지 않음

응용 프로그램을 설치하거나 실행할 수 없습니다. 이 응용 프로그램에서는 어셈블리 stdole 버전 7.0.3300.0을 먼저 GAC (전역 어셈블리 캐시)에 설치해야합니다. 시스템 관리자에게 문의하십시오.

그러나 Office 2003 컴퓨터는 문제없이 응용 프로그램을 시작할 수 있습니다.

누구든지이 문제를 해결하기위한 권장 사항이 있습니까?

답변

0

나는 특정 문제에 대한 확실하지 오전하지만 stdole 라이브러리의 오피스 12 버전이 다른 (항상 이전 버전과 호환되지 내 경험 -을 -in) 당신이 사무실에게 2003

를 사용할 때 당신이 한 다음보다

우리는 편지 병합 오피스가 제공하는과 기능을 사용하려면 Office DLL을 주위에 래퍼를 사용 믿거 나 말거나, 마이크로 소프트는 따라서 우리는 다른에 링크 다른 래퍼를 컴파일해야 다시 인터페이스 변경 사무실 버전. 즉, PITA.

MS Office에 대해 Managed 라이브러리를 제공하지 않는 한 다시 코딩하지 않습니다.

호언 장담에도 불구하고 컴퓨터에 Office 12를 설치하고 거기에서 테스트해야한다고 생각합니다. 모든 Office 기능이 다름을 알 수 있습니다. Office 12에서 작동하게 만들려면 은 Office 11 (2003이라고도 함)이있는 컴퓨터와 호환되지만 아무 것도 배포하기 전에 테스트하지 마십시오.

저는 이것이 ClickOnce와 아무런 관련이 없다고 생각합니다. 그것은 더 많은 GAC/OfficeVersion 문제입니다. 또한 UAC 및 DEP 항목이 "이전"응용 프로그램의 작동 방식을 방해하는 경향이 있으므로 가능한 Vista 문제가 있는지 확인하십시오.

2

Office2k7을 설치하면이 버전의 stdole이 제거됩니다. 당신은 모든 대상 머신에있는 gacutil을 통해 개별적으로 설치할 수 있습니다. 또는 어떻게 든 ClickOnce 패키지 부트 스트 래퍼를 통해이를 포함시킬 수 있습니다. 맥 때문에 지금은 테스트 할 수 없다.

+0

정말 "제거 된"afaik가 아닙니다.Office12 머신에는이 기능이 있지만 Office11 컴퓨터와는 다릅니다. –

0

우리 회사가 Office 2007을 출시하기 시작한 후에도 똑같은 문제가있었습니다. 문제가되는 두 대의 컴퓨터의 GAC에 stdole을 복사하는 것이 가장 빠른 해결책이었습니다.

조사한 결과 우리 응용 프로그램이 실제로 stdole을 사용하지 않는 것으로 나타났습니다. 그것은 테스트 후 제거한 COM DLL을 테스트했을 때 참조를 추가했을 수도 있습니다. 그래서 내 솔루션은 게시 탭 아래의 응용 프로그램 파일 대화 상자에서 제외하는 것이 었습니다. 그러니 먼저 그걸 필요로하는지 확인하십시오.

필자는 Office와 같은 일부 COM DLL을 참조 할 때 필요하다는 것을 알고 있습니다. 이 경우에는 응용 프로그램 파일 대화 상자의 게시 상태를 필수 구성 요소에서 포함 및 다운로드 그룹을 없음에서 필수로 변경하여 문제가 해결되었다는 내용의 몇 가지 게시물을 발견했습니다. 내 경우 stdole은 기본적으로 선행 조건으로 추가되었습니다.

관련 문제