티스토리 뷰

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
MS Visual Studio.NET 2005 를 설치 중 용량 문제로 설치가 제대로 되지 않았다. 이 사실도 문제가 발생한 후 관리도구 -> 이벤트 뷰어를 통해서 알아낸 문제였는데, 결과적으로는 각종 프로그램을 실행 시에 특이한 에러(0xc0000) 를 내면서 프로그램이 실행이 안되는 거 였다.

 특히 윈도우를 시작 후 로그인 시에 IMKRMIG.EXE 프로그램이 위의 현상을 일으키면서 실행이 되지 않았는데 찾아보니 IME 프로그램이었으며, 여러 프로그램에서 한글이 입력되지 않았다.

 그냥 윈도우를 다시 깔까 하다가, 문제를 해결해보기로 마음먹고 일단 관련 dll 이 없나 싶어서 Dependency Walker 로 해당 실행 파일을 체크해보니 MSVCR80.dll 을 찾지 못하는 것이었다.

 그래서 다른 윈도우의 MSVCR80.dll 을 system32 폴더로 복사해왔는데 그래도 찾지 못했다 -_-;

 그런데 Dependecy Walker 를 실행할 때 특이한 에러를 낸다는 것을 알게 되었는데 확인해보니, C:\WINDOWS\WinSxS 라는 폴더밑에 있는

 C:\WINDOWS\WinSxS\ia64_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_9a6d6da0

 라는 폴더에서 MSVCR80.dll 을 찾는 것이었다. 그래서 이 폴더를 다른 윈도우의 내용과 같은 dll 파일들을 넣어주니 이 이상한 에러 현상들을 해결할 수 있었다.

 이 WinSxS 라는 폴더가 뭔지를 찾아보았다.

 http://chungsm.tistory.com/tag/WinSxS 라는 페이지에서 해당 내용을 찾을 수 있었는데, 결론적으로는

  Microsoft 에서 DLL지옥을 피하기 위해서 고안한 방법이 XP에서 부터 소개된 "Side-by-Side Assembly Manifest"(SxS)입니다.

  간략하게 설명하자면 원하는 버젼의 DLL을 로드할 수 있다는 것이 핵심입니다.
이렇게 됨으로서 DLL의 버젼충돌로 인한 프로그램의 오류를 피할 수 있게 되는 것입니다.


 라고 되어있다. 음... 이런게 xp 부터 지원되었었군 크~~

 학교 실습실에서 Administrator 생활을 하지 않은 후 별 관심이 없었는데 황당한 윈도우 오류를 하나 해결해보니 기분이 좋군 ㅎㅎ
댓글
최근에 올라온 글
Total
Today
Yesterday