2012-06-20 3 views
1

다음과 같이 설치 프로그램에서 다음 명령 줄을 실행하여 BDE 엔진을 설치하려고합니다.BDE 설치 : 드라이브에 공간이 충분하지 않습니다. c. 그래도이 위치에 설치하십시오.

ShellExecute(0, nil, 'regsvr32.exe', 'BdeInst.dll', nil, SW_SHOW); 

BDE 엔진을 특정 위치에 설치할 수있는 권한을 요청하는 메시지가 표시됩니다. 확인 버튼을 클릭하면 다음과 같이 다른 메시지가 팝업됩니다.

enter image description here

내가 내의 hardrive에 여유 공간이 충분한 지 확인했다. 예 버튼을 클릭하면 BDE 엔진이 성공적으로 설치됩니다.

이유를 모르겠습니다. 게다가 온라인에 대한 정보가 많지 않습니다.

모든 입력 사항을 매우 높이 평가할 것입니다.

+0

하드 드라이브에있는 공간 (MB)은 얼마나됩니까? 어떤 Windows 버전을 실행하고 있습니까 (Windows를 실행중인 경우). –

+0

@PatrickMoloney 80GB가 넘는 것 같습니다. 설치 프로그램은 Windows 7에서 개발 중이며 Windows 8, Windows 7 및 XP에서도 설치를 테스트합니다. 그들은 모두 같은 오류를 제기합니다. – ThN

+0

문제는 bde 설치 프로그램이 GetDiskFreeSpace를 사용하고 GetDiskFreeSpaceEx를 사용하지 않는다는 것입니다. - http://support.microsoft.com/kb/202455 – Petesh

답변

2

먼저 설치하려고 할 때의 BDE가되지 않습니다이 오류가 나타날 수 있음을 동의해야하고, 당신은 더 나은해야 델파이의 다른 버전에서도 사용하지 마십시오.

BDE를 사용하지 않고 DB에 직접 연결할 수있는 타사 구성 요소가 있습니다. 예 : DevArt, SQLDirect, DASoft (FreeDAC는 무료), 기타 많은 구성 요소는 Zeos 또는 our SynDB Open Source libraries입니다.

잘 알려진 "2GB 반올림 오류"가 발생했습니다. BDE 설치 프로그램은 이로 인해 어려움을 겪었지만 BDE를 사용하는 응용 프로그램도 마찬가지입니다.

BDE 설치 프로그램이 버그입니다.

최신 버전의 Windows에서는 작동하지 않습니다.응용 프로그램에서 사용 BDE가 from the same 2GB limitation, linked to the GetDiskFreeSpace improper use을 겪게됩니다

interbase and BDE on windows 7처럼 또는 Bde Installer on these Embarcadero days

당신은, 주변의 다른 설치 프로그램이 있습니다.

a work around available on Embarcadero CodeCentral이 애플리케이션 코드에 포함될 가치가 있습니다.

2

BDE는 몇 년 동안 사용되지 않는 오래된 소프트웨어입니다. 사람들은 여전히 ​​실행하고 있지만, 나는 그것이 원래 16 비트 소프트웨어 였고 결코 바뀔 수 없다고 생각한다. 대형 하드 드라이브를 이해할 수없는 일부 소프트웨어에서 메시지가 전송되고 있다는 느낌이 들었습니다. BDEInst.dll이 볼랜드의 BDE 인스톨러인지는 모르겠지만 그 메시지는 그럴 수 있습니다. 또한 "설치 프로그램이 개발 중입니다 ..."라고 말합니다.

XP에 설치해야하며, 먼저 작동 시키십시오. 승리 7과 8은 더 많은 이슈를 소개합니다. 그러나이 시점에서 BDE를 설치하려면 가능한 한 재검토하십시오.

+0

BDE는 오래되었지만 Delphi 2 이상과 함께 제공되는 버전은 작동하는 순수한 32 비트 솔루션입니다 64 비트 버전에서도 XP, Vista 또는 Seven을 지원합니다. 설치 프로그램에 문제가 있지만 작동 중입니다. 모든 경우에 BDE는 더 이상 사용되지 않지만 오늘날의 OS (Windows 2008 Server R2 64 비트에서도)에서 계속 작동한다는 것은 인상적입니다. –

1

bdeinst.dll은 2GB보다 큰 드라이브에 대해 실행될 때 완전히 잘못된 값을보고 할 수있는 Win32 API 함수 GetDiskFreeSpace을 사용합니다. 개발자 기반 해결 방법은 http://support.microsoft.com/kb/202455을 참조하십시오.

내가 이것을 알아 낸 이유는 전에 필자가 맞았으며 GetDiskFreeSpaceA (이것은 기능의 ascii 버전 임)을 사용한다는 것을 나타내는 bdeinst.dll 바이너리에 대한 가져 오기를 조사했기 때문입니다. 당신이 BDE를 사용하는이 경우

는, 당신은 당신이 응용 프로그램 모든

+1

아니요, 수동적으로 받아 들일 필요가 없으며 고객을 우는 소리로 남겨 둘 필요가 없습니다. BDE 또는 응용 프로그램 중 하나를 패치하여 런타임시이 제한을 없앨 수있는 몇 가지 해결책이 있습니다. –

관련 문제