Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi treiber installieren per delphi code (https://www.delphipraxis.net/95070-treiber-installieren-per-delphi-code.html)

r_amse_s 30. Jun 2007 01:27


treiber installieren per delphi code
 
ich möchte treiber (pre)installieren (nicht über ein 3rd party installer) sodass wenn der user die hardware am pc ansteckt die treiber automatisch und ohne user interaktion installiert/aktiviert werden.
die treiber sind natürlich digital signiert.
das ganze soll unter W2K, XP und Vista (32/64 bit) - vorerst genügt auch 32bit - funktionieren.
nach der treiber installation soll der rechner NICHT neugebootet werden müssen.
eine deinstallation sollte auch möglich sein

zur verfügung stehen folgende dateien

- *.inf
- *.cat
- *.sys


muss unbedingt einen hardware ID bekannt sein (benutzt werden) ?
bzw. welche files wohin und wie zu kopieren sind (eine einfache kopie ins inf verzeichnis ist nicht zulläsig, die digitale signatur verliert ihren wert !)
das ganze soll auch redistributable sein (also devcon scheidet aus) falls irgendwelche dll oder exe files benutzt werden.

gefunden habe ich noch etwas über: SetupCopyOEMInf und InstallHinfSection (MSDN) aber ich habe keine Ahnung wie man das in delphi bewerkstelligen könnte...

wäre sehr dankbar falls sich jemand meldet

Robert Marquardt 30. Jun 2007 04:48

Re: treiber installieren per delphi code
 
Ein Grossteil des Setup API bechaeftigt sich mit INF Files. Die Konversion des APIs ist bei der JVCL mit dabei.
Ob man ohne Neustart auskommen kann, haengt vom Treiber und der Zusatzsoftware ab.

r_amse_s 1. Jul 2007 00:04

Re: treiber installieren per delphi code
 
Hallo robert,

kannst du mir bitte sagen wo genauer diese konversion zu finden ist ?
auf dem ersten blick habe leider nichts über SetupCopyOEMInf und InstallHinfSection gefunden.

danke!

edit: eventuell hinweise auf beispiele ?

Olli 1. Jul 2007 01:02

Re: treiber installieren per delphi code
 
http://jedi-apilib.sf.net/

Dort wird dir dann als Maintainer unser geschätzter Robert auffallen und einen direkten Link findest du dort auch.

Robert Marquardt 1. Jul 2007 04:49

Re: treiber installieren per delphi code
 
Speziell beim Setup API ist das File aus der JVCL (Unterordner Common) besser geeignet. Das wird von mir intensiver gepflegt.

Das Setup API ist wohl das am meisten ueberarbeitete API von Microsoft. Mit dem Teil das sich mit der Treiberinstallation beschaeftigt, habe ich mich noch nicht naeher auseinandergesetzt, aber es ist recht aufwaendig. Es gibt CoInstaller (Installer-Plugins) die alles beliebige zusaetzlich installieren koennen. Manche Geraete funktionieren nur mit zusaetzlichen Applikationen oder Services.

Olli 1. Jul 2007 12:36

Re: treiber installieren per delphi code
 
Zitat:

Zitat von Robert Marquardt
Speziell beim Setup API ist das File aus der JVCL (Unterordner Common) besser geeignet. Das wird von mir intensiver gepflegt.

Dann sollten wir es vielleicht bei uns entfernen und auf die JVCL verweisen?!

Robert Marquardt 1. Jul 2007 13:51

Re: treiber installieren per delphi code
 
Nein, eher uns mal wieder um die Jedi-apilib kuemmern.

Olli 1. Jul 2007 17:05

Re: treiber installieren per delphi code
 
Oder so ;)

In Sachen SC bist du aber soundso der Maintainer :P

Aber hast recht. Ich hatte auch schonmal begonnen einen Parser in Perl zu schreiben um alle PSDK-Header automatisiert zu übersetzen. Vermutlich wird das bis auf echte Makros (also nicht-simple DEFINEs) auch kein Problem sein.

r_amse_s 1. Jul 2007 23:54

Re: treiber installieren per delphi code
 
jaa, das scheint es zu sein, die SetupApi.pas

ist die setup api schon Vista fähig ? dort wird von einem driver store, oder so, die rede...

sind euch eventual beispiele mit treiber installationen (wo setupapi eingesetzt wird) bekkant ?
ich möchte das rad nicht wirklich neu zu erfinden... :)

danke nochmals!

Olli 2. Jul 2007 01:19

Re: treiber installieren per delphi code
 
Zitat:

Zitat von r_amse_s
sind euch eventual beispiele mit treiber installationen (wo setupapi eingesetzt wird) bekkant ?
ich möchte das rad nicht wirklich neu zu erfinden... :)

Also beruflich machen wir es mit MSI-Paketen. MS bietet dazu ein Merge-Module an, welches die Treiberinstallation übernimmt. Da brauchst du dich nicht um wirklich viel zu kümmern. Wenn du WiX benutzen wölltest, müßtest du momentan noch auf Version 2.x zurückgreifen, da wir festgestellt haben, daß bisher noch keine Unterstützung für das Merge-Module in WiX 3.x enthalten ist. Ansonsten ist WiX 3.x nämlich deutlich besser.

Damit kannst du entsprechend komplett eine eigene Lösung umgehen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz