C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[15095] ★ 원인을 찾는 분께 10만원 상품권을 드립니다.--> [해결]
크레브 [kkol] 6716 읽음    2008-09-19 18:45
Image1.jpg 15.3KB 아제나님 -> 설치후 에러 메시지
지난번에 프로그램 테스트를 부탁 드렸었는데요
많은 분들이 테스트 해보시고 에러메시지 없이 잘 실행된다고 하였습니다.

프로그램 테스트 내용은 아래글 참고하시면 됩니다.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=free&no=15012

문제는
임베디드 FireBird 2.1로 만든 프로그램이 실행시
Unable to Load fbclient.dll 라는 에러 메시지가 뜨는 문제입니다.

그후 좀더 테스트 해본 결과 다음과 같은 조건이 나왔습니다.
1. OS를 설치하고 바로 실행하면 위와 같은 에러 메시가 뜹니다.
2. Office 2007를 설치한 후 실행하면 에러 메시지 없이 잘 실행됩니다.
3. 오피스를 언인스톨하고 실행하면 다시 에러 메시지가 뜹니다.
4. 오피스를 설치하지 않은 PC에서도 잘 실행됩니다. 단 잡다한 프로그램들이 이것저것 설치되있음

급하게 해결해야할 문제는 아니지만

문제 해결을 위해 경품을 걸도록 하겠습니다.

회사 : 아이씨티 ICT (http://ict-lab.com)
개발환경 : C++Builder 6.0
테스트 환경 : Window XP
경품 : 10만원권 상품권
조건 : 문제 해결 방법을 처음 제시한 사람 (ex) xxxx.dll를 복사해주면된다
배송 : 본인 원하는 주소로 등기 배송



※ 임베디드 Firebird 1.5로 작업했을때는 이런 문제가 없었습니다.
※ 추가 정보를 원하시는게 있으면 댓글 달아주세요


많은 참여바랍니다. ^^
civilian [civilian]   2008-09-19 19:30 X
fbclient.dll 2.1 버전은 MSVCR80.DLL 과 관련이 있는걸로 압니다.

해당 파일을 같이 복사해보시죠...
civilian [civilian]   2008-09-19 19:34 X
참고로, 1.5 버전은 msvcr71.dll을 물고갑니다.

즉, 2.1로 올라오면서 VC++ 버전이 바뀌었을 듯...
아제나 [azena]   2008-09-19 20:20 X
msvcr80.dll 만 복사해서는 안 됩니다.
해당 dll은 civilian님 말씀대로 Visual Studio 2005로 개발된 dll인 것 같구요.
2003까지는 윈도우에 포함된 CRT를 쓰기 때문에 따로 dll을 설치할 필요가 없지만,
2005, 2008은 CRT가 보안관련하여 버젼업이 되면서 따로 배포되어야 합니다.
MS에서 친절하게(?) 배포판을 제공하고 있으니 해당 링크에서 받아서 깔아주시면 됩니다.
해당 파일을 다운로드 받아서 설치해주시고요. 자동 설치 프로그램 만드실 때 파라미터로 /q 옵션을 주시면 재배포 패키지는 조용히 깔립니다.

http://www.microsoft.com/downloads/details.aspx?FamilyID=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=ko
크레브 [kkol]   2008-09-19 20:53 X
civilian님 MSVCR80.DLL 파일을 복사 해도 안됩니다. ^^;
크레브 [kkol]   2008-09-19 20:57 X
아제나님/  해당파일 받아서 실행하면 설치후 이상한 메시지 뜹니다.
/q도 마찬가지 메시지 뜨고요  설치는 된듯도 하고요.

vcredist_x86.exe 설치후 뜨는 메시지는
"Command line option syntax error. Type Command /? for Help " 입니다.

어쨌든 설치하고 다시 테스트해도 fbclient.dll 에러 메시지 뜹니다.
안재준 [aaabbb2000]   2008-09-19 21:26 X
Firebird-2.1.0.17798-0_Win32.zip를 다운받은후 Bin폴더 안의

Microsoft.VC80.CRT.manifest, msvcr80.dll, msvcp80.dll를 같은 디렉토리에 복사해 보세요
장성호 [nasilso]   2008-09-19 21:49 X
제목만 보고 무슨 광고인줄 알았다는....
정재만 [csta]   2008-09-19 22:20 X
fbclient.dll ,  MSVCR80.DLL 파일을 system32폴더에 카피해 보심이~~
Lyn [tohnokanna]   2008-09-19 22:21 X
VS8.0 이상의 DLL 은 폴더명까지 일치 해 줘야 합니다 ㅡ.ㅡㅋ

아니면 Visual Studio 2005 재배포 패키지를 설치하시거나..
크레브 [kkol]   2008-09-19 23:40 X
안재준님/ msvcr80.dll, msvcp80.dll 파일은 현재 같은 폴더에 있는 상태입니니다.
그런데 Microsoft.VC80.CRT.manifest 이 파일이 하는 역할이 있는건가요?
크레브 [kkol]   2008-09-19 23:42 X
정재만님/ MSVCR80.DLL 는 system32 폴더에 복사해 두었지만 마찬가지 문제 입니다.
fbclient.dll은 같은 폴더에 있어도 되는 PC에서는 잘됩니다.
크레브 [kkol]   2008-09-19 23:43 X
Lyn님/ firebird 사이트 download 에는 Visual Studio 버전이 명시되 있지 않은데요
VS2005 재배포 패키지라는게 있는가요?
크레브 [kkol]   2008-09-19 23:44 X
-------------------- 아직 미해결 상태입니다 ------------------------

OS를 새로 설치하신 분은 없으신지요?
같은 증상인지 보고 싶은데..
안재준 [aaabbb2000]   2008-09-20 01:10 X
Microsoft.VC80.CRT.manifest  도 같은 폴더에 넣고 실행해 보세요.

http://blog.daum.net/lifemap/5599258?srchid=BR1http%3A%2F%2Fblog.daum.net%2Flifemap%2F5599258
정재만 [csta]   2008-09-20 09:00 X
[질문] 프로그램(iLog)에서 DB(fb2.1)을 어떻게 컨트롤 하시나요?
          ADo,DBExpress,직접(API) 기타등등.....

크레브 [kkol]   2008-09-20 09:05 X
정재만님/ DBExpress콤포넌트 사용합니다 ^^
크레브 [kkol]   2008-09-20 09:07 X
안재준님/ 좋은 정보 이군요. 아쉽게도 테스트용  PC(OS새로설치)가 사무실에서 있어서 월요일에 테스트 해보겠습니다.  ^^
잿빛날개 [ashywings]   2008-09-20 09:15 X
제 컴퓨터에 깔려있는 윈도우 2003에서 동일한 에러 메세지가 나오길래
http://www.microsoft.com/downloads/thankyou.aspx?familyId=200b2fd9-ae1a-4a14-984d-389c36f85647&displayLang=en
를 깔아주니 제대로 동작하네요.

그래서 저 패키지로 깔리는 파일중 어느게 필요한지 테스트해 보니

C:\WINDOWS\WinSxS\Policies\x86_policy.8.0.Microsoft.VC80.CRT_....
일단 이 폴더와 내용물이 제 자리에 있어야 하더군요.

그리고 C:\WINDOWS\WinSxS\Microsoft.VC80.CRT 안에있는 파일들이 필요한데
이건 그냥 복사해서 프로그램이 있는 폴더에 넣어주니 제대로 동작 했습니다.^^
잿빛날개 [ashywings]   2008-09-20 09:24 X
아무래도 저 policy 파일은 dll내부에서 절대경로로 접근하거나 하는것 같네요.
폴더명을 한글자만 바꿔도 인식 못하고 안에있는 파일을 빼내서 따로 복사해도 인식을 못합니다.ㅡㅡ;;

게다가 원래부터 제대로 동작하던 XP에서 저 폴더를 찾아 이름 한글자 바꾸니 역시 fbclient.dll에서 에러를 뱉어내내요.;;;
잿빛날개 [ashywings]   2008-09-20 09:36 X
아무래도 Microsoft.VC80.CRT.manifest 이 파일이 policy폴더 경로와 관계가 있는듯 싶습니다. 파일 내용 중

<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>

이 부분을 임의로 고치니 역시 제대로 실행 안되네요.
여기 값을 이용해서 policy 폴더를 조합해 낸다고 가정하고 같은 이름으로 두개를 고쳤는데도 에러가 나는걸 보면 뒤에 Token해시코드를 이름을 통해서 생성하는게 아닌가 싶습니다.
잿빛날개 [ashywings]   2008-09-20 10:11 X
manifest 파일에서 <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> 이 줄을 아예 지워버리니 policy폴더가 없어도 동작하네요.

관련글을 찾아보니 manifest파일이 dll의 버젼을 관리하는 역할인거 같습니다. 그래서 버젼 정보를 아예 지워버리면 버젼을 무시하고 dll를 불러오는게 아닌가 싶네요. 최종적으로

Microsoft.VC80.CRT.manifest [수정 필요]
msvcr80.dll

두개의 파일이 프로그램과 같은 폴더에 있으니 제대로 동작합니다.^^

P.S. 다 적고 보니 결국 결과는 안재준님과 같아졌네요.^^;;;;
크레브 [kkol]   2008-09-20 12:28 X
잿빛날개님/ 자세한 설명하고 테스트에 감사드립니다. ^^
하지만 말씀하신대로 안재준님 내용과 같기 때문에 처음 해결책을 제시한 분은 안재준님이 되실듯합니다.
월요일에 사무실에서 확인해 보고 결과를 다시 올리겠습니다.
크레브 [kkol]   2008-09-20 12:32 X
--------------------- 해결 유력 --------------------------------

안재준님과 잿빛날개님의 도움으로 문제 해결의 가능성이 보입니다.^^
빨리 테스트해보고 싶은데 주말이라서 월요일 까지 기다려야 겠군요
많은 분들의 도움 말씀에 감사드리며 , 결과는 월요일에 올리겠습니다.
박지훈.임프 [cbuilder]   2008-09-20 12:51 X
오오... 해결이 눈앞인가보네요. 한발 늦었나^^

해결 방법이 쉽사리 안나오면 비주얼 C++ 6.0으로 재컴파일해드리려고 했었는데.. ^^;;
1년전쯤에도 파이어버드 2.1의 일부 기능이 문제가 된 일이 있어서, 소스를 수정해서 VC 6.0으로 다시 컴파일해서 썼었죠.
강재호.만해 [greenuri]   2008-09-22 07:43 X
젤 좋은 방법은 FireBird 2.1 설치라는 ^^ ㅋ
저도 저 문제 있었는데 해결방안 찾기 버거워서 그냥 Firebird2.1 설치로 해결했어요.. ^^
아제나 [azena]   2008-09-22 09:15 X
제가 SP3만 설치된 클린 Windows XP 에 설치해보고 댓글 달아드린거예요.
재배포 패키지 까시면 한방에 해결됩니다.
재배포 설치 패키지가 설치 안 된다면 크레브님 시스템의 문제인 듯 싶습니다.
아제나 [azena]   2008-09-22 09:42 X
ftp://azena.dyndns.org/attachment/borlandforum/kkol_movie/kkol.avi

해당 문제 해결법에 관한 동영상을 제작하였습니다.
개인 서버 ftp에 올라가 있고요.
문제 해결과 문제 재발생 과정을 캡쳐한 영상이고요.
/q 옵션의 사용법이 담겨 있습니다.
위의 댓글에 Lyn님께 '재배포 패키지라는게 있나요'라고 물으셨는데,
제가 링크 달아드린게 재배포 패키지예요--;;;

본 ftp는 passive mode를 사용하기 때문에 passive 모드를 지원하지 않는 firefox에서는 접근되지 않을 수 있습니다. internet explorer를 쓰세요.
크레브 [kkol]   2008-09-22 14:14 X
-------------------------  해결  ---------------------------------
XP처음 설치한 PC에서 안재준님 방법으로 성공하였습니다.
도움말 주시고 테스트 해주신 모든 분 들께  감사드립니다. ^^
크레브 [kkol]   2008-09-22 14:19 X
아제나님 방법도 맞는거 같긴 한데..
일단 저희 PC에서 설치할때 첨부 이미지와 같은 메시지 또고요
제가 사용하는 업무용 PC에도 동일 메시지가 발생했습니다.
물론 메시지 안뜨는고 잘 설치되는 PC도 있어고요
PC 2대 다 시스템에  문제가 있을 수 도 있지만
일단 테스트 할 시점에서는 해결되지 않았고

안재준님 방법이 추가 설치 없이 파일만 같이 넣으면 되기 때문에
우리 회사에서 원하는 해결책인것 같습니다.

직접 테스트 동영상까지 올려 주신 노고에 감사드립니다.
크레브 [kkol]   2008-09-22 14:23 X
---------------------- 안재준님께 ---------------------------------
상품권 배송과 관련하여
게시판에 개인정보 올리시기는 그럴테니..
제 이메일로 주소와 연락처 보내주시기 바랍니다.
안전을 위해 등기로 보내드리니 받으실 분이 계신 주소로 알려주세요

참고로 상품권은 롯데상품권 5만원 2장입니다.
안재준 [aaabbb2000]   2008-09-22 15:30 X
문제 해결됐다고 하니 다행이네요.
보내 주시는 상품권은 고맙게 잘 쓰겠습니다.

사실 해결방법을 저도 몰랐습니다(볼랜드포럼은 글읽는재미로 옴). 그러다가 civilian님의 글을 보고 전에 Firebird게시판 글을 본 기억이 나서 VirtualBox에 윈도우Xp설치하고 해보
니 이렇게 됐네요.

지금 전에 본 Firebird쪽 글 찾아 보니까 2개네요. 지금보니까 처음 것 글을 쓴 분이 크레브님이 2007년에 쓴 글이네요. 중간에 보시면 "V3나 NateOn 같은 프로그램등 많은 프로그램이 설치시에 자체 폴더에 이 dll를 아예 복사해 놓고 사용하고 있습니다."

V3는 안 쓰니 모르겠고 NateOn의 Bin 폴더에는 Microsoft.VC80.CRT.manifest도 있더군요.

http://interbase.borlandforum.com/impboard/impboard.dll?action=read&db=fb_tip&no=35

http://interbase.borlandforum.com/impboard/impboard.dll?action=read&db=fb_tutorial&no=11

+ -

관련 글 리스트
15095 ★ 원인을 찾는 분께 10만원 상품권을 드립니다.--> [해결] 크레브 6716 2008/09/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.