[강좌] PC/모바일 윈도우의 WinSxS 폴더는 도대체 뭔가요?

이 글은 아질게에 올라왔던 질문에 제가 답했던 내용인데..


의외로 모르시는 분이 많은것 같아서 여기에도 옮겨둡니다.



--------------------




문과생들도 이해할수 있게 아주 쉽게 원리 위주로 함 설명해 보겠습니다.


윈도우에 있는 기본 파일들 중에 확장자가 .dll 파일이란게 있어요.


이 dll 파일들은 사실 여러 종류로 나뉘는데요.


중요한 것은...


이런 윈도우가 제공하는 dll 파일들은 각각 변하지 않는 이름으로 아예 처음부터 딱 정해져 있다라는 사실입니다.


그래서 어떤 프로그래머가 윈도우에서 돌아가는 어떤 새로운 프로그램을 개발할때, 개발자들은 이렇게 고정된 이름의 dll 파일들을 적절히 사용해서 프로그램을 만들게 됩니다.



근데 문제는 윈도우 업데이트예요.



예를 들어 보안 문제가 생겨서 어떤 dll 파일내부의 보안문제를 해결한 새로운 버전의 dll 파일을 마이크로소프트사가 만들었다고 해보죠.


근데 예전 버전이나 새로운 버전이나 이름이 똑같아야 하니까, 더이상 파일 이름만으로는 구분을 할수가 없게됩니다.


그런데 이미 예전에 개발되어 설치되어있는 어떤 프로그램은 구 버전의 dll 파일을 바탕으로 만들어졌기 때문에,

마이크로소프트에서 무식하게 그냥 새 버전의 dll 파일로 바꿔치기를 해버리면,


이미 설치된 프로그램중에 문제가 생기는 경우가 있을수 있어요.


그래서 생긴게 이 WinSxS 라는 폴더예요.

안에 보면 엄청 긴 폴더 이름들이 있죠?


이 이름들은 정확한 버전정보를 담고 있어서..

같은이름의 dll 파일중에 원하는 버전의 dll을 이 서로다른 버전 정보를 지닌 폴더안에서 찾아서 사용하게 되는 겁니다.







February 27, 2018 at 12:21PM