'dll'에 해당되는 글 1건

  1. 2007/05/28 Visual Studio .NET 2005 설치 중 윈도우 에러 상황(WinSxS) (2)
2007/05/28 04:49

Visual Studio .NET 2005 설치 중 윈도우 에러 상황(WinSxS)

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 생활을 하지 않은 후 별 관심이 없었는데 황당한 윈도우 오류를 하나 해결해보니 기분이 좋군 ㅎㅎ
Trackback 0 Comment 2

Trackback : http://blog.wimy.com/trackback/89 관련글 쓰기

  1. 2Bell 2007/06/10 11:18 address edit & del reply

    c:\windows\winsxs에는 위의 이유 등으로 수많은 파일이 동면하는 능구랭이처럼(특히 비스타에서는) 겁나게(?) 모여있는데 차지하는 공간도 그렇거니와 고스트등으로 백업 시에도 덩치가 크지는 문제로 일단 그 속에 있는 수백개의 그림 파일 종류(*.jpg)들은 모두 삭제해버리는 것도 하나의 요령이라할 수 있을지 모르겠네요(본인의 경우).그럼...

    • Favicon of http://wimy.com/tt BlogIcon zelon 2007/06/11 13:48 address edit & del

      앗 그렇군요. 다른 폴더들을 자세히 살펴보지는 않았는데. 좋은 정보 감사합니다 :)