개발팁2011. 2. 23. 20:24
side by side 에러는 DLL 버전이 맞지 않는 경우 생기는 문제이다.

VS 2008을 업데이트 하다가 KB971092 업데이트를 적용하게 되면,
VC90 런타임의 버전이 9.0.30729.4184 로 올라가게 되는데,

빌드한 결과물을 다른 PC에서 실행하는 경우에 해당 DLL이 없으면 side by side 에러가 발생하게 된다.

이 경우 MS에서 배포하는 redistributable package 를 깔면 4184 버전의 DLL이 설치가 되는데,
문제는 이 패키지를 설치하는 경우 release 버전의 DLL만 설치된다는 것이다.

필요에 의해 debug 버전으로 빌드한 바이너리를 배포하는 경우에, 4184 버전의 debug DLL이 없어서 문제가 된다.


디버그 버전 배포시 문제 해결 방안으로는,

1. 4184 버전의 Debug DLL 배포
2. KB971092 uninstall
위 두가지 방법이 있는데,

2번 방법을 강력하게 추천하는 바이다.
Posted by 먹고사니