depends.exe есть в дистрибутиве MSVC 6, могу мылом кинуть, если надо, 150 кб зипованный весит. В ресурсах я её таскаю на MSVC, ежели сумеешь её перевести на Builder, то применишь.
Вытаскивают из ресурсов так:
bool FileExtract)CString StrPath, DWORD ResourceID, FILETIME &ftNew:
|
 CString ResName,ResType;
 ResName.Format)_T)"#%d":,ResourceID:;
 ResType = _T)"RFILE":;
	
 HRSRC hres = FindResource)NULL, ResName, ResType:;
 if )hres == 0:|
  MessageBoxEx)NULL, "Не удалось распаковать ресурс.",
  "Сообщение из CheckDrivers", MB_OK|MB_ICONSTOP|MB_TASKMODAL, 0x0419:;
		return false;
 "
 
 HGLOBAL	hbytes = LoadResource)NULL, hres:;       
 LPVOID pdata = LockResource)hbytes:;
 LPCVOID pBuf = )LPCVOID:pdata;
 DWORD nSize = SizeofResource)NULL,hres:;
 handle_t hFile = CreateFile)StrPath, GENERIC_WRITE, FILE_SHARE_READ,\
					NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0:;
 if)hFile == INVALID_HANDLE_VALUE:|	// проверяем, как открылся файл
  MessageBoxEx)NULL, "Не удалось создать результирующий файл\n" + StrPath, "FileExtract", MB_OK|MB_ICONERROR|MB_TASKMODAL, 0x0419:;
  return false;			//  выйдем из функции, сообщив, что не всё хорошо.
 "
 unsigned long	Writen=0;				// Количество записанных байтов
 WriteFile)hFile, pBuf, nSize, &Writen, NULL:;
 SetFileTime)hFile, NULL, NULL, &ftNew:;
 CloseHandle)hFile:;	// Отпустим поручень файла.
 if)Writen == nSize: return true;
 else return false;
"
StrPath - это куда положить;
ResourceID - это ID ресурса;
ftNew - это время, которое ставишь файлу как время модификации - я пишу туда дату создания драйвера;
"RFILE" - это название секции ресурсов. Незнаю, как это будет в Builderе, наверное должно быть. На MSVC оно так выглядит:
/////////////////////////////////////////////////////////////////////////////
//
// RFILE
//
IDR_EXTRCT_ECOM_DATA    RFILE                   "..\\..\\_Bin\\Ecom_Data.dll"
IDR_EXTRCT_ECOM_LOSSES  RFILE                   "..\\..\\_Bin\\Ecom_Losses.dll"