[Office.Interop] Server에서 Microsoft.Interop.Excel.dll 설정
2011. 1. 20. 19:10ㆍOthers/C# 일반
Microsoft.Interop을 사용하여 엑셀 또는 워드 문서를 읽거나 작성할 수 있습니다. MS Office가 읽을 수 있는 모든 파일을 읽고 조작할 수 있지만 실제 호스팅 방법은 상당히 까다롭습니다.
여기서는 Windows 2008 64Bit를 기준으로 Server에서 Microsoft.Interop를 사용할 수 있게 하는 방법에 대해 설명을 드립니다.
- 먼저 Server에 해당 MS Office를 설치합니다.
- Primary Interop Assemblies Redistributable를 설치합니다. 이 설치를 통해 Server의 Application들이 해당 Office Interop Assembly를 참조할 수 있게 됩니다. 이 설치파일은 GAC에 Office Assembly들을 등록해 줍니다.
- 세 번째로 Micorsoft.Interop을 사용한 Applicaiton의 Application Pool에 설정된 사용자 계정을 확인합니다. II7을 기준으로 다음과 같습니다.
- IIS를 열고 [응용 프로그램 풀]을 선택합니다.
- Microsfot.Interop를 사용하는 Application의 Pool을 선택합니다.
- 오른쪽 [작업]판에서 [고급 설정]을 클릭합니다.
- [프로세스 모델]의 [ID] 값 오른쪽에 위치한 […]버튼을 클릭합니다.
- [기본 제공 계정]을 사용하시거나 직접 계정을 지정하실 수 도 있습니다.
위와 같이 LocalSystem을 사용하면 보안에 굉장히 취약해지지만 해당 Application에 모든 관리자 권한을 부여하는 것이므로 이 단계 이후의 설정 없이 Application이 Microsoft.Interop를 사용할 수 있게 됩니다.
- 이제 계정을 파악했으니, 해당 계정에 Microsoft Excel Application DCOM의 접근 권한을 부여합니다. 64Bit 운영체제에서는 32Bit Application의 DCOM을 바로 확인할 수 없으므로 다음 과정을 따릅니다.
- 시작-[실행]을 클릭하고 [mmc –32]를 입력하고 확인을 클릭합니다.
- [파일(F)]-[스냅인 추가/제거(M)]를 클릭합니다.
- [사용 가능한 스냅인(S)]에서 [구성 요소 서비스]를 찾아 더블 클릭합니다. 그러면 아래 그림처럼 [선택한 스냅인(E)]에 [구성 요소 서비스]가 추가될 것입니다.
- [확인]을 클릭하여 [구성 요소 서비스]가 [콘솔 루트]에 추가될 수 있도록 합니다. 그리고 아래 그림처럼 [콘솔 루트]->[구성 요소 서비스]->[컴퓨터]->[내 컴퓨터]->[DCOM 구성]까지 내려갑니다.
- [DCOM 구성] 하위의 Microsoft Excel Application을 찾아 마우스 오른쪽 버튼으로 클릭한 뒤 [속성(R)]을 클릭합니다.
- 나타나는 [Microsoft Excel Application 속성] 창에서 [보안]탭을 선택합니다. 그리고 [시작 및 활성화 권한]을 [사용자 지정]으로 선택한 뒤 [편집(E)]버튼을 클릭합니다.
- [시작 및 활성화 권한] 창에서 위에서 확인한 Application Pool 계정을 추가해야 합니다. 먼저 추가 버튼을 클릭합니다.
- 보통 Application Pool에서 기본적으로 사용되는 계정인 [Network Service]계정에 권한을 부여하도록 하겠습니다.
- [로컬 시작], [로컬 활성화] 권한을 부여합니다.
- [ID] 탭을 클릭한 후 응용 프로그램을 실행 권한이 있는 계정을 설정합니다.
- IIS에서 사이트를 새로고침 하신 후 Microsoft.Interop.Excel이 정상적으로 실행되는지 확인해주세요.
- 시작-[실행]을 클릭하고 [mmc –32]를 입력하고 확인을 클릭합니다.
감사합니다.
'Others > C# 일반' 카테고리의 다른 글
[C#] File, Directory 보안 설정 (0) | 2011.04.23 |
---|---|
[C#] Version 자동 설정 및 BuildDateTime 구하기 (0) | 2011.04.15 |
[Office] Excel Html을 이용하여 Excel 문서 작성하기 (0) | 2011.02.28 |
[Office] XElement를 이용하여 Excel XML 작성하기 (0) | 2011.01.24 |
[Office] Application에서 Excel 파일 읽기 (0) | 2011.01.20 |