2009-07-01 4 views
5

내 dev 컴퓨터에 Office 2007이 있습니다. 나는 몇몇 interop을 할 필요가있는 Office 2003과 함께 고객 서버를 구축하고있는 작은 응용 프로그램을 가지고 있습니다. 내 프로그램은 야간 배치 프로세스에서 예약 된 작업으로 실행됩니다.Office interop : Office 2007이 설치된 컴퓨터에서 2003 PIA로 개발

아무리해도 서버에서 작동 할 수 있도록 Access interop 어셈블리 버전 11.0을 찾을 수 없습니다.

나는 내 컴퓨터에 명시 적으로 다운로드하여 설치하려고했습니다. 2007 년 interop 어셈블리를 서버에 설치하려고했습니다 (전체 Office 2007 설치는 문제가되지 않습니다). 몇 가지 다른 COM 참조를 시도했다. Visual Studio 프로젝트에서 참조 할 서버에서 COM 개체를 찾으려고했습니다. 그리고 나는이 모든 것을 여기에 나열하기 위해 너무 많은 다른 작은 것들을 시도했습니다.

여기 무슨 일 이니? 이 기능을 어떻게 작동시킬 수 있습니까?

+0

나는 당신이 C : \ WINDOWS \ assembly \ GAC \ Microsoft.Office.Interop.Access에 체크했다고 가정한다. –

+0

예, 했어요. –

+0

프로그래밍하는 환경에 대해 모르지만 초기 바인딩을 사용해야합니까? Office 버전과 독립적으로 사용할 수있는 후기 바인딩 형식이 있습니까? –

답변

1

.Net v2 이상에서 양쪽 버전을 함께 설치 한 경우에도이 작업을 수행하는 유일한 방법은 COM lib가 아닌 PIA에 대한 참조를 추가하는 것이 었습니다. Frameork v1.1은 실제로 존재하는 경우 올바른 버전으로 바인딩됩니다.

+0

어디서나 PIA 파일을 찾을 수 없습니다. –

+0

좋아, 나는 바보 야.서버의 GAC에서 파일을 찾을 수 없지만 2007 버전 (및 2003 PIA를 명시 적으로 설치했지만 2007 버전 만 해당)이 로컬 GAC에 있습니다. 불행히도,이 여전히 서버에서 작동하지 않으며 액세스 파일을 열려고 할 때 그냥 중단됩니다. 하지만 완전히 다른 질문입니다. –

+0

처음에는 PIA를 얻으 려 할 때 GAC에서 PIA를 추출했습니다 (Office XP PIA는 좋은 ZIP 형식으로 제공되기 때문에 쉽게 얻을 수있었습니다). 라이선스 관련 사항에 대해서는 확신 할 수 없지만 PIA와 나란히 할 수 있습니까? (분명히 여전히 Access가 필요할 것입니다.) –

0

서버에서 컴퓨터로 로컬 폴더로 PIA를 복사 한 다음 해당 복사본에 대한 참조를 추가 할 수 없습니까?

다른 방법을 사용하려면 PIA를 사용하지 말고 ComImport을 대신 사용하십시오.

Add-ins for Multiple Office Versions without PIAs

업데이트 (주석에서) : 서버에 액세스 PIA를 찾을 수없는 경우 다음을 시도해 볼 수도 있습니다 :

앤드류 화이트 채플은 자신의 블로그에 상세 정보를 가지고
  • 다운로드 여기에서받은 Office 2003 PIA 설치 : Office 2003 Update: Redistributable Primary Interop Assemblies

  • 명령 줄에서 자동 압축 풀기 실행 파일의 압축을 풉니 다 (/? 전체 로깅을 사용하여

    >O2003PIA.exe /C /T:C:\PIA 
    
  • 이 추출 된 MSI를 실행합니다 :

    >msiexec -i O2003PIA.msi /l*vx log.txt 
    

    을하고 아무것도 설치에 잘못 여부를 액세스 Interop 어셈블리 및 추가 힌트에 대한 로그를 확인) 옵션을 나열합니다. 이 단계를 대신하여 MSI unpacker 유틸리티를 사용하여 어셈블리를 얻을 수도 있습니다.

+0

아니요, PIA 파일은 수동으로 다운로드하여 설치 한 후에도 서버에 존재하지 않습니다. –

+0

BTW : 링크의 재미있는 솔루션이지만, 코드 무언가를 리뷰 할 때 방에서 웃어 넘길만한 것을 사용했다면. 나는 그것을 볼 수있다 : "WTF는이 모든 쓰레기 다?" –

+0

사실. 기대되는 모든 ComImports를 처리 할 VS 2010을 기대합니다 ... –

관련 문제