이 문제는 2017년 10월 10일자 윈도우 업데이트로 인해 발생합니다. 이 업데이트 때문에 스누타임과 같이 옛날 방식으로 수강편람 XLS 파일을 여는 프로그램들이 오작동을 일으킬 수 있습니다. 마이크로소프트에서 이 문제를 해결하겠다고 하니 시간이 지나면 다시 수강편람 마법사가 잘 작동하지 않을까 싶습니다만, 일단 2017년 겨울학기 수강신청이 다가왔기에 간단히만 대응하고자 합니다.
- 위 SNUTime_Setup.exe으로 SNUTime을 새로 설치하시면, 10월 31일자 겨울학기 학부 및 대학원 수강편람이 미리 포함되어 있어 수강편람 마법사를 실행하실 필요 없이 바로 SNUTime을 이용하실 수 있습니다.
- 수강편람 마법사를 실행하면 여전히 오류가 나올 것입니다. 즉, 이 스누타임 업데이트는 3265 런타임 오류를 해결한 것이 아니라 수강편람을 미리 넣어둔 임시 해결책에 불과합니다. (10월 윈도우 업데이트를 하지 않은 경우라면 수강편람 마법사가 정상적으로 작동할 것입니다.)
I. 들어가기 전에
이 '더 보기' 항목의 내용은 수강편람 마법사가 3265 런타임 오류로 실행되지 않는 경우, 귀찮지만 수강편람 마법사를 실행되게 하고 싶다거나, 단지 '기술적'으로 궁금하신 분들을 위한 설명입니다.
그렇지 않은 분들이라면 굳이 이 내용을 보실 필요가 없고, SNUTime_Setup.exe를 설치하는 것으로 바로 당장 2017년 겨울학기 수강편람을 조회하는 데에 문제가 없을 것입니다. (즉, 일반 사용자라면 그냥 무시하셔도 되는 내용입니다.)
II. 문제의 원인
Windows 7 이상 환경에서 2017년 10월 10일 이후의 최신 윈도우 업데이트를 설치하신 경우, 스누타임 수강편람 마법사가 실행되지 않습니다. 스누타임이 영향을 받는 업데이트는,
Known issues in this update: Microsoft JET Database Engine (Microsoft Access 2007 and older or non-Microsoft applications) to fail when creating or opening Microsoft Excel .xls files.
Microsoft is working on a resolution and will provide an update in an upcoming release.
아시다시피 스누타임은 2006년에 만들어진 프로그램이고, 2006년 기준으로 낡은 사용자 환경에서도 잘 작동하는 것을 목표로 만들어졌기에, 2017년 현재 기준으로는 매우 낡은(legacy?) 의존성을 가진 프로그램이라 할 수 있습니다: sugang.snu.ac.kr에서 제공하는 수강편람은 Microsoft Excel 2003까지의 .XLS 형식이고, 스누타임은 이걸 옛날에 쓰이던 JET로써 읽기 때문에 위와 같은 오류가 발생하게 됩니다.
구체적으로는 위 윈도우 업데이트로 변경되는 내용 중, MSEXCL40.DLL 파일이 문제를 일으키게 됩니다.
III. 문제의 해결
MSEXCL40.DLL 파일을 업데이트 이전 버전으로 바꿔주면 수강편람 마법사가 잘 작동합니다.
위 파일은 10월 윈도우 업데이트 바로 직전의 버전입니다. (4.00.9801.0, 업데이트 후 문제가 되는 버전은 4.00.9801.1, Windows 10에서 테스트하였습니다.)
그런데 위 파일은 C:\Windows\SysWOW64 폴더에 위치하고 있어, 권한 문제로 인해 파일 교체를 하기 어렵습니다. 따라서 편법으로, 위에 올려둔 구 버전 파일을 임의의 위치에 다운로드한 다음, 윈도우 레지스트리 변경으로 윈도우가 이용하는 MSEXCL40.DLL 파일을 바꾸어 주어야 합니다.
예를 들어, 위에 올려둔 파일을 C:\ 같은 곳에 다운로드했다고 가정한다면,
먼저 윈도우 키+R을 눌러 실행 메뉴를 열고, regedit를 입력하셔서 레지스트리 편집기를 여신 후,
\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Jet\4.0\Engines\Excel 항목을 찾습니다.
그리고 Win32라는 이름의 값에 C:\Windows\SysWOW64\msexcl40.dll 같은 게 지정되어 있다면, 이것을 바꿔줄 msexcl40.dll의 주소에 맞게 C:\msexcl40.dll로 바꾸어 줍니다.
이렇게 한 후, 재부팅을 한다면 문제가 일단 해결될 것입니다. 다만, 어디까지나 임시적인 방편에 불과하므로 굳이 권할 만한 것은 아니라고 생각됩니다.
IV. 그 외
위 윈도우 업데이트 안내 페이지에 나와 있는 마이크로소프트에서 제시한 당장의 해결책대로 스누타임을 고쳐 보아도(DB 공급자를 JET 대신 ACE로 바꾸어도 XLS 파일을 읽는 것 때문에) 문제가 해결되지 않기도 하고, 낡은 프로그램을 뜯어고치도 개인 사정상 여유가 없어 어려운지라, 일단은 위와 같은 임시 방편을 제시하는 것으로 그치고자 합니다.
상술했듯 마이크로소프트에서 고쳐줄 문제 같기도 하고, 또한 차후에 여유가 된다면 스누타임을 새로 만들면 만들었지, 십 몇년 전을 기준으로 만든 프로그램을 또 뜯어고친다는 것도 조금 현실적이진 못한 이야기 같기 때문입니다.
* 그 외의 변경 사항은 사실상 없습니다. 작동하지 않는 몇몇 외부 링크를 제거하였고, 개인 사정상 여유가 없어 급한대로 겨울학기 수강편람을 조회할 수 있는 수준의 대처만 해서 올립니다. 만든 지 10년이 더 넘은 낡은 프로그램이라 부족한 점이 많지만, 아직도 아껴주시는 분들께 다시금 감사드립니다.