블로그 이미지
생각처럼

카테고리

전체보기 (209)
TOOL (1)
다이어리 (1)
Bit (200)
HELP? (0)
Total
Today
Yesterday

달력

« » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

출처 카페 > 게임 개발자 네트워크 (jz.. | 자존심
원문 http://cafe.naver.com/jzsdn/12859

비단 VC.NET 2005로 컴파일 된 프로그램뿐만 아니라 다른 버전의 컴파일러로 컴파일된 프로그램은 해당 버전의 컴파일러의 필수 라이브러리를 배포해야 합니다.

 

그러나 VC 6.0이나 VC.NET 2003등은 워낙 다른 프로그램들(VC6.0이나 VC.NET 2003으로 컴파일된)이 이미 윈도우즈에 필수 DLL들을 인스톨해 놓은 경우가 많아 따로 배포하지 않아도 문제되는 경우가 거의 없더군요.

 

근데, VC.NET 2005의 경우는 마이크로소프트가 배포하는 방식을 좀 다르게 한 것 같습니다.

 

참조

http://serious-code.net/moin.cgi/RedistributingVisualCppRunTimeLibrary

http://msdn2.microsoft.com/ko-kr/library/zebw5zk9(VS.80).aspx

 

Side-by-side Assembly 라는 방식이라는 데, 암튼 좀 귀찮아 졌습니다.

 

그래서, 기존에 windows/system32에 dll이 들어가던 것이 windows/winSxS에 들어가게 되었고

기존에 실행화일과 dll이 같이 있으면 해결되었던 것이 이제는 그냥은 통하지 않게 되었다고 합니다. 좀 뭔가 더 해주어야 한답니다.

 

해결방법은 위의 링크에서도 이야기합니다만 다음과 같습니다.

 

1) VC.NET 2005 재배포용 패키지를 설치한다.

 

아래 링크에서 다운받거나

Visual C++ 2005 Redistributable Package (x86) 
Visual C++ 2005 Redistributable Package (x64) 
Visual C++ 2005 Redistributable Package (ia64) 

Visual C++ 2005 SP1 Redistributable Package (x86) 
Visual C++ 2005 SP1 Redistributable Package (x64) 
Visual C++ 2005 SP1 Redistributable Package (ia64)

 

 

C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86

에 있습니다.

 

2) 필요한 것을 같이 설치한다

 

릴리즈 버전은 C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86
디버그 버전은 C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist

에서..

사용하는 dll과 함께 Microsoft.VC80.*.manifest 도 포함해서 실행파일과 같은 폴더에 넣어주어야 합니다.

 

 그럼 필요한게 뭔지 어떻게 아느냐..라고 물어보시는 분들을 위해 다음과 같은 프로그램이 있다는 것을 상기시켜 드립니다.

 

http://www.dependencywalker.com

 

VC 2005를 깔았다면

C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin" 폴더에 depends.exe라는 이름으로 설치되어 있습니다.

 

위의 프로그램은 해당 프로그램화일이 어떤 dll을 참조하는 지 알려줍니다.

Posted by 생각처럼
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함