Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Проблемы с инсталляцией


Автор: DmitriyFilippov 23.11.2006, 20:50
Здравствуйте уважаемые программеры!
Значит сварганил свою программку в С++B, с базой данных на Paradox7. Сделал загрузочный CD в InstallShield. (InstallShield ом пользуюсь недавно и не знаю что собственно нужно включать в установку. Моя программа совершенно проста) Проблема: При запуске данной проинсталлированной программы на чужом компьютере выдает ошибку error D.B.E. $2108.

DBE - как его включить в установку в InstallShield?  smile   

Подскажите пожалуйста в чем здесь проблема и как от нее избавитьсяsmile  Спасибо!

Автор: Ivan. 23.11.2006, 21:06
Во-первых нужен драйвер BDE. Есть пара файлов, я их выложу на пару дней: http://ivan.kpost.ru/BDESetup/bdesetup.exe и http://ivan.kpost.ru/BDESetup/bdesetup.w02.
Присоединяешь к инстолятору с параметром автоматического запуска при установке;
Драйвер устанавливается автоматически обсалютно не спрашивая клиента куда и зачем он устанавливается;
Все работает!

Во-вторых незнаю как там в InstallShield я пользуюсь программой Inno Setup. Очень легкая, русская и удобная программа для создания инсталяшек, а с мастером скриптов, инстал можно собрать за пол минуты. Выложил тамже: http://ivan.kpost.ru/IS3RUS.EXE

Автор: Лена 23.11.2006, 21:32
Для того чтобы проект использующий BDE работл на другом компьюторе где BDE нет,надо в папку проекта приложить следующее файлы из папки \Borland Shared\BDE
bantam.dll, blw32,dll, charset.cvb, idapi32.dll, idr20009.dll, usa.btl, idpdx32.dll для таблиц Paradox или iddbas32.dll для таблиц DBF. В распокованном виде это порядка 1 МБ. После этого проект использующий BDE будет полность рабочим.

Автор: DmitriyFilippov 23.11.2006, 21:42
Спасибо всем! Буду пробовать.....

Автор: VitasDeWind 24.11.2006, 09:05
Вот описание, сам всегда так делаю!, Уже прог сварганил сэтим полно:
 
В виде кода чтобы читать удобней:

Код

Как сделать дистрибутив с BDE?? 
BDE это хорошо. Но когда хочется программу распространить, очень не хочется чтобы эту БДЕ было видно у всех установивших продукт(ну ИнсталлШилд ее устанавливает и всем ее видно). Можно ли переписать маленько DLL и реестр подправить самостоя¬тельно и чтоб оно заработало без фактической установки BDE. Прога использует базы DBF без alias'ов. Как сделать - мож еще какой выход есть?? 

Hужно добавить следующие файлы из папки BDE к вашему исполняемому модулю:

blw32.dll, idapi32.dll, idr20009.dll, idpdx32.dll для Paradox-таблиц или
iddbas32.dll для DBF-таблиц, bantam.dll, charset.cvb, usa.btl

Доступ к таблицам надо настроить не через псевдонимы (alias'ы), а через пути в файловой системе. В идеале все таблицы храните в папке программы, тогда нужно
только указать имя таблицы без пути

В реестре прописать!!!!:

HKLM\\Software\\Borland\\BLW32->BLAPIPATH="путь" 
HKLM\\Software\\Borland\\Database Engine\\DLLPathDLLPath="" 
HKLM\\Software\\Borland\\Database En¬gine\\ConfigFile01="pathtoidapi.cfg" 



Программа делается элементарно, можно также с помощью инсталляторов, даже желательно smile 

Автор: Vyacheslav 24.11.2006, 10:56
Если не ошибпюсь, там просто  просто в InstallShield нужно галочку поставить, что используется BDE

Автор: pandrew 24.11.2006, 12:31
Цитата(DmitriyFilippov)
Спасибо всем! Буду пробовать.....
 +2VitasDeWind
При распространии программ вместе с инсталляцией BDE существует проблема: если BDE уже установлен у юзера и версии отличаются, то возможен отказ юзеровского софта. Это одна из причин почему сейчас рекомендуется отказаться от BDE в пользу ADO и от Paradox в пользу DBF(VFP) или ACCESS

Автор: VitasDeWind 24.11.2006, 12:38
Все верно, эти тоже использую smile  Но иногда требуется и paradox + bde, не все от нас зависит... smile 

А насчет версий BDE ... проверка реестра - удаление старой информации - и установка моей (последней) . . ни разу проблем не было... у меня... smile 

Автор: TaNK 24.11.2006, 13:42
Цитата(Ivan. @ 23.11.2006,  21:06)
Во-первых нужен драйвер BDE. Есть пара файлов, я их выложу на пару дней: http://ivan.kpost.ru/BDESetup/bdesetup.exe и http://ivan.kpost.ru/BDESetup/bdesetup.w02.
Присоединяешь к инстолятору с параметром автоматического запуска при установке;
Драйвер устанавливается автоматически обсалютно не спрашивая клиента куда и зачем он устанавливается;
Все работает!

Во-вторых незнаю как там в InstallShield я пользуюсь программой Inno Setup. Очень легкая, русская и удобная программа для создания инсталяшек, а с мастером скриптов, инстал можно собрать за пол минуты. Выложил тамже: http://ivan.kpost.ru/IS3RUS.EXE

а как если в папке с *.exe находится папка например Base при формировании инстоляторп, я ее добавляю как папку при создании инстоляторы, но при установке папка сама не устанавливается Base - там находится один файл *.mdb , а скидается впапку с *.exe и выдается ошибка, что не найден путь, как там правильно прописать что бы порядок был таков
My programm\Base(*.mdb)+*.exe не пойму!

Автор: DmitriyFilippov 30.11.2006, 23:54
Значит тема такая.... Запихал я в свой проект все файлы которые мне сказали.... ошибка исчезла но появилась другая.... Unknown Alias. После этого я установил BDE который предоставил Ivan (("... Во-первых нужен драйвер BDE. Есть пара файлов, я их выложу на пару дней: http://ivan.kpost.ru/BDESetup/bdesetup.exe и http://ivan.kpost.ru/BDESetup/bdesetup.w02. ...")) правда установил просто Setup без включения в установку в InstallShield и зачем файл bdesetup.w02  я тоже не понял.
Насколько я знаю BDE когда установлен прописывается в Xp в Панель Управления здесь же он прописался просто в программы.(такое впечатление что реестр остался чистым) Зашел в него прописал алиас для своей таблицы. Установил программку заново, поставил галку Launch programm нажал Finish. И эврика она запустилась....   все работает.... потом закрыл ее..... И пипец больше она не открывается пишет снова ошибка BDE ..... АААА smile 

Автор: Ivan. 1.12.2006, 17:13
Цитата

и зачем файл bdesetup.w02  я тоже не понял

я тоже не знаю и не задумывался, я даже не помню откуда я их взял.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)