Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Delphi7] BDE pod Windows 7

prymas76 18 Mar 2012 11:05 5138 7
  • #1 18 Mar 2012 11:05
    prymas76
    Poziom 8  

    Witam.
    Mam problem z BDE pod Windows7. Korzystam z Delphi 7. Napisałem program do obsługi prostej, lokalnej bazy danych paradox. Program sprawdza czy zainstalowano BDE i w razie potrzeby instaluje go, a następnie tworzy potrzebny alias. Na komputerach z Windows XP śmiga bez problemu, ale na komputerach z Windows 7 nie chce zainstalować BDE tylko przy próbie instalacji wywala komunikat o braku miejsca na dysku pomimo że miejsce jest.
    Fragment programu który to wykonuje wygląda tak:

    Kod: delphi
    Zaloguj się, aby zobaczyć kod


    W katalogu programu znajduje się plik bdeinst.dll i regsvr32.dll. Pomysł zaczerpnięty z:
    http://www.digipedia.pl/usenet/thread/2178/3179/
    http://forum.4programmers.net/Delphi_Pascal/85587-Silnik_BDE_-_jesli_nie_ma_go_w_systemie_to_instaluj
    http://4programmers.net/Delphi/FAQ/Jak_zainstalowa%C4%87_sterowniki_BDE_z_poziomu_Delphi

    Ktoś ma pomysł jak obejść ten problem?

    0 7
  • #3 18 Mar 2012 15:11
    prymas76
    Poziom 8  

    Dżyszla napisał:
    Z jakimi uprawnieniami uruchamiasz program? Czy to 64-bitowy Windows? (XP był 32-bitowy?)


    XP 32-bitowy. Win7 nie jestem pewien ale na 100% z uprawnieniami administratora. Sprawdzę tylko czy 32 czy 64. Ale raczej 64.

    0
  • #4 18 Mar 2012 15:35
    Dżyszla
    Poziom 42  

    Generalnie to wracając do kodu, to ShellExecute nie wstrzymuje działania programu, więc czy jesteś pewien, że tak ma to działać?

    Ad meritum: Zerknij tutaj: http://lazowski.wordpress.com/2010/05/17/blad-2108-czyli-brak-pakietu-bde-na-systemach-x64/

    0
  • #5 18 Mar 2012 15:50
    prymas76
    Poziom 8  

    Dżyszla napisał:
    Generalnie to wracając do kodu, to ShellExecute nie wstrzymuje działania programu, więc czy jesteś pewien, że tak ma to działać?

    Ad meritum: Zerknij tutaj: http://lazowski.wordpress.com/2010/05/17/blad-2108-czyli-brak-pakietu-bde-na-systemach-x64/


    Ok mogę dodać że gdy błąd instalacji bde to przerywa program, lub coś w tym stylu. Ewentualnie zrobię osobną aplikację sprawdzającą i instalującą bde która uruchomi się zaraz po instalacji programu. A co do linku to dzięki wielkie sprawdzę w wolnej chwili :) ale myślę że to powinno rozwiązać mój problem.

    0
  • #6 18 Mar 2012 17:28
    Dżyszla
    Poziom 42  

    Wykorzystując np InnoSetpu to w ogóle nie potrzebujesz aplikacji czy zaszywania tego w swoim programie. Takie rzeczy zawsze zrzuca się na instalator, a w programie możesz co najwyżej sprawdzić i ewentualnie wyświetlić komunikat, że program należy zainstalować.

    0
  • #7 19 Mar 2012 07:54
    prymas76
    Poziom 8  

    Dżyszla napisał:
    Wykorzystując np InnoSetpu to w ogóle nie potrzebujesz aplikacji czy zaszywania tego w swoim programie. Takie rzeczy zawsze zrzuca się na instalator, a w programie możesz co najwyżej sprawdzić i ewentualnie wyświetlić komunikat, że program należy zainstalować.


    Tak, tylko w przypadku aplikacji w stylu "portable", czyli kopiujesz folder z programem na pendrive i uruchamiasz na innym komputerze, to już nie działa. Może moja metoda jest dość prymitywna ale raczej sprawdziłaby się w tym przypadku.

    0