본문 바로가기
Exchange & Outlook/Trouble Shooting

인터넷 익스플로러로 접속한 OWA에서 Office 첨부 문서 보기 오류

by 강철 벼룩 2011. 1. 22.

▒ 현상

OWA 에서 Office 첨부 문서를 열 때 [그림1]과 같은 오류메시지를 보이며, 문서가 열리지 않는다.
 
[그림1] 오류 메시지


▨ 원인

아래 기술문서에 언급된 바와 같이, Office 파일 명으로 일정 길이 이상 지정 시, 파일 열기를 하면 위와 같은 에러 메시지가 나타날 수 있다. 이는 Office 버전과 상관없다.

아래 두 파일 명을 가진 Office 파일을 첨부하여 문제 현상이 발생하는지 테스트 수행.

  • KT_IPTV TVRO_견적서_0528.xls‎
  • 6~7월 쇼폰케어 프로모션안(공지)_10052~1.xlsx

첫 번째 파일의 경우, 파일 경로를 포함한 길이가 218 character 이하이기 때문에 문제 없이 문서가 잘 열린다.  두 번째 파일의 경우, IE7 에서는 위 그림과 같은 에러 메시지를 보이며 문서가 열리지 않았고, IE8 에서는 문서가 잘 열리는 것을 확인 했다.

원인을 확인하기 위해 process monitor를 분석한 결과, IE 7의 경우, OWA 에서 문서가 IE temporary folder 로 임시 저장될 때 다음과 같이 UTF-8 형식으로 바로 저장되기 때문에, 파일 길이가 234 character, 즉 218 character 이상이 되어 문제가 발생하는 것을 확인 했다.

10:37:51.2813127 AM       iexplore.exe          952         4280       CreateFile              C:\Documents and Settings\user\Local Settings\Temporary Internet Files\Content..IE5\CHIT9G5Z\6~7%ec%9b%94%20%ec%87%bc%ed%8f%b0%ec%bc%80%ec%96%b4%20%ed%94%84%eb%a1%9c%eb%aa%a8%ec%85%98%ec%95%88%28%ea%b3%b5%ec%a7%80%29_100528.xls[1].xlsx                SUCCESS                Desired Access: Generic Write, Read Attributes, Disposition: Create, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: NCI, ShareMode: Read, Write, Delete, AllocationSize: 0, OpenResult: Created

반면, IE 8 의 경우, OWA 에서 문서가 IE temporary folder 로 임시 저장될 때 다음과 같이 UTF-8 형식을 ANSI로 디코딩해 저장하기 때문에, 파일길이가 139 character, 즉 218 character 이하가 되기 때문에 문제가 발생하지 않는다.

12:04:20.5150881 PM        iexplore.exe          6128       3808       CreateFile                C:\Users\certiware\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\TT4M3O1W\6~7월%20쇼폰케어%20프로모션안(공지)_100528.xls[1].xlsx         SUCCESS                Desired Access: Generic Write, Read Attributes, Disposition: Create, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: NCI, ShareMode: Read, Write, Delete, AllocationSize: 0, OpenResult: Created

이 문제는 파일명에 ‘~’ 가 들어가든지 여부와 상관없이 위 기술문서에 언급된 길이 제한을 초과할 경우 발생한다.

▦ 해결 방안

 IE7 에서 다음 핫픽스를 설치한 다음, 레지스트리 값 변경 필요. 반드시, 아래 순서를 지켜서 작업해야 한다.

1. 아래 경로에서 IE7 latest cumulative update 를 다운받는다.
Cumulative Security Update for Internet Explorer 7 for Windows XP (KB982381)
http://www.microsoft.com/downloads/details.aspx?FamilyID=fc02fc7e-ee85-4377-b54c-012fa60a8c9c&displaylang=en
2. 명령 프롬프트에서 위 파일을 설치한 경로로 이동한다.
3. 아래 명령어를 사용하여 설치한다. 설치 후 재부팅 해야한다.
<package name>.exe /b:sp3qfe
(예) IE7-WindowsXP-KB982381-x86-ENU.exe /b:sp3qfe
4. 레지스트리 편집기에서 아래 키를 생성한 다음, 값을 아래와 같이 추가한다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ALLOW_LONG_INTERNATIONAL_FILENAMES

이름: iexplore.exe
형식: DWORD
값: 00000001

[그림 2] 레지스트리 편집기