Microsoft MVP성태의 닷넷 이야기
vcredist_x86 배포 관련 여쭙습니다. [링크 복사], [링크+제목 복사],
조회: 15095
글쓴 사람
질의자
홈페이지
첨부 파일
 

안녕하십니까.
질문하나 여쭙겠습니다.

visual studio 2005 배포 프로젝트로 a.exe,b.exe를 배포하려는데요.

a.exe는 시샾 b.exe는 c++로 짜서,
닷넷 프레임웍 2.0과 vcredist_x86.exe 를 배포하게 되었습니다.

그런데, 일문, 영문을 배포하려고 하니 문제가 발생하였습니다.

저의 개발 pc의 os는 한글인데요.

배포 프로젝트 속성 중 로케일을 일본어로 하고 빌드하였더니,
일본어 pc에 가서 설치할때, 잘 되다가 vcredist_x86.exe를 설치할때,
문자열이 깨지면서 설치가 되지 않더군요.

그래서, 검색하여 보았더니, vcredist_x86.exe 파일을 언어별로 다르게 배포해야 한다고 되어 있더군요.
더 검색해 보니, visualstudio2005 배포 프로젝트에서 참조하는 vcredist_x86.exe 는
visualstudio2005의 경로인,
"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86"
내에 있었고, ko라는 폴더와 product.xml 파일이 함께 있었습니다.

문제는, 이 경로에 파일만 일본어, 영어 vcredist_x86.exe 를 교체 해가며 빌드하면 되겠다 싶었는데,
저 xml 파일들 내부에 한글 스트링이 있더군요.
 그렇다면, 저 파일들 역시, 언어별로 있어야 한다는 뜻인데,
어떻게 배포해야 할지 막막 합니다.

또한, 사용자 pc가 x64일 경우에는 역시, vcredist_x64.exe를 배포해야 하는지요?


결론적으로, 언어별 배포 방법과 cpu별 배포방법의 구성에 대해 여쭙고자 합니다.

바쁘실텐데 여러가지로 감사합니다.











[최초 등록일: ]
[최종 수정일: 1/13/2010]


비밀번호

댓글 작성자
 



2010-01-13 07시22분
직접 해보기에는 환경설정으로 시간이 좀 걸릴 것 같아서... 안 해본 상태에서 답변을 드립니다.
일단, 설치된 VS가 한글버전인 것 같은데 그 버전의 vcredist_x86.exe를 사용하기 때문에 깨지는 문제가 아닐까 싶은데요. 예를 들어, 제가 영문 VS로 설치버전을 만들었는데 그게 한글 윈도우에서 깨지지는 않을테니까요.

만약, 서비스를 위해 언어별로 꼭 해야 한다고 하면 어차피 셋업 파일도 프로젝트의 일종이기 때문에 빌드 스크립트를 잘 구성하셔서 3개의 설치 버전이 자동으로 나오도록 해야 합니다. 물론 x64버전도 해야 한다면 설치 버전은 더욱 늘어나겠지요. 실제로, 마이크로소프트의 경우 .NET Framework 을 배포하는 것만 봐도 x64/x86 버전으로 나뉘고 또한 개별 언어 버전으로 셋업 파일이 제공되고 있지요.

정리해보면, Visual Studio 안에서 빌드 및 설치본까지 만든다는 생각은 버리는 것이 좋습니다. VS에서는 빌드가 잘 되는지, 설치 프로젝트가 잘 되는지 정도의 테스트만 하시고 여러개의 설치본을 만드는 스크립트는 배치 파일이든지 MSBuild 든지 해서 적절하게 자동화하시면 됩니다.

kevin25

... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5485이재원4/17/20216564교재 315페이지 내용 질문 [3]
5484Syong4/16/202110118윈폼 기반의 응용프로그램 dll 참조와 32,64bit 빌드 관련 문의 [4]
5483한예지 donator4/15/20215692익명 형식과 var 관계 질문 있습니다. [2]
5482질문4/13/20217458WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지 donator4/5/20217756GetHashCode 질문있습니다! [2]
5479한예지 donator4/4/20216873Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자기C#3/23/20219363C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20216304c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475dimo...3/2/20217243POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Syong2/26/20216756사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지 donator2/25/20216636디자인 타임이 뭔지 궁금합니다!! [5]
5472dimo...2/24/20217433등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [9]
5471남산2/21/20216127MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지 donator2/7/20216046yield 질문있습니다!! [2]
5469유호성2/6/20215596Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467hero...2/4/20215945실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20215838c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20216234두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20216509C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지 donator1/24/20217236Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/20217522사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지 donator1/22/20216915AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지 donator1/21/20216250typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/20217153C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/202175529.0 출간 계획이 있으신가요? [2]
5455한예지 donator1/16/20216615교재 194페이지 콜백메서드 질문 있습니다! [5]
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...