AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi USB-Geräte-Installation - Plug&Play
Thema durchsuchen
Ansicht
Themen-Optionen

USB-Geräte-Installation - Plug&Play

Ein Thema von diabox · begonnen am 8. Dez 2006 · letzter Beitrag vom 12. Dez 2006
Antwort Antwort
Benutzerbild von diabox
diabox

Registriert seit: 13. Sep 2006
61 Beiträge
 
Delphi 2010 Professional
 
#1

USB-Geräte-Installation - Plug&Play

  Alt 8. Dez 2006, 17:49
OS: Windows 2000

moin allerseits,

ich versuche ein Programm zu schreiben, welches es einem normalen Windows 2000 Nicht-Admin erlaubt ein bestimmtes Gerät automatisch zu installieren. Es handelt sich um eine USB Verbindung zum TI Voyage 200 (CAS). Ich hab mal geschaut, was so passiert bei einer USB-Installation und wenn man weiß welche inf-Datei verwendet wird ist es nicht so schwer, das alles manuell zu machen: Die inf-Datei ist ruckzuck installiert... Das Problem ist viel mehr der Registrierungseintrag der gemacht werden muss um einem USB-Port das Gerät sozusagen zuzuweisen. Wenn ich mir von einem der Computer auf dem diese TI Voyage 200 Verbindung schoneinmal installiert ist, eine Stelle aus der Registry kopiere, die die erforderlichen Informationen enthält (die PCs sind baugleich und haben alle das selbe Image drauf) und dann versuche die .reg-Datei auf einem der anderen Systeme zu installieren, erhalte ich eine Meldung, dass diese Daten möglicherweise im Moment vom System verwendet werden und dass die Daten nicht eingefügt werden konnten (die genaue Fehlermeldung weiß ich leider nicht mehr). Bei der Suche nach Antworten im Forum habe ich gelesen, dass Plug&Play allgemein sehr problematisch sei. Wie installiere ich diese USB-Verbindung - Ist das überhaupt möglich?

Wichtig ist mir, dass ein Benutzer diese Installation vornehmen kann (darum habe ich an ein Programm gedacht, was die Installation mit Administratorrechten ausführt - das Administratorpasswort ist mir bekannt).

Wenn ihr andere Möglichkeiten kennt soetwas zu bewerkstelligen wäre ich natürlich genauso froh.

Danke im voraus
Wer zweifelt, detoniert nicht!'
Dieter Nuhr
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: USB-Geräte-Installation - Plug&Play

  Alt 8. Dez 2006, 18:10
Lass bloss die Finger von direkten Registry-Manipulationen im USB-Bereich. Das ersteckt sich ueber viele Schluesel und ist auch noch je nach Geraet unterschiedlich.
Es sollte eigentlich reichen das INF File zu installieren. Das geht ueber das Setup API. Danach wird beim Plug des Geraetes das INF File gefunden und der Treiber dem Geraet zugeordnet.
  Mit Zitat antworten Zitat
Benutzerbild von diabox
diabox

Registriert seit: 13. Sep 2006
61 Beiträge
 
Delphi 2010 Professional
 
#3

Re: USB-Geräte-Installation - Plug&Play

  Alt 8. Dez 2006, 18:19
Zitat:
Danach wird beim Plug des Geraetes das INF File gefunden und der Treiber dem Geraet zugeordnet.
Genau das ist ja das Problem. Beim Plug wenn nur die INF Datei installiert ist, wird sofort wieder versucht Treiber zu installieren, weil die Treiber scheinbar keinem Bus zugeordnet sind. Diese Installation scheitert dann aber, weil der Benutzer nur sehr beschränkte Rechte hat. Ich möchte diese Plug&Play-Geschichte nur bei diesem Gerät im Adminmodus ausführen (sowas wie RunAs für den Vorgang)...
Wer zweifelt, detoniert nicht!'
Dieter Nuhr
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: USB-Geräte-Installation - Plug&Play

  Alt 9. Dez 2006, 06:10
Das klingt eher nach einem schlechten INF File. Die Zuordnung geschieht ja meist ueber die VID und PID des USB-Geraetes.
  Mit Zitat antworten Zitat
Benutzerbild von diabox
diabox

Registriert seit: 13. Sep 2006
61 Beiträge
 
Delphi 2010 Professional
 
#5

Re: USB-Geräte-Installation - Plug&Play

  Alt 10. Dez 2006, 14:11
Hmm, vielleicht installiere ich die inf falsch.
Ich mache das mit dieser Zeile:
Code:
rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 132 C:\WINNT\inf\SilvrLnk.inf
Das ist ja eigentlich auch der vorgang der inner Registry für inf-Dateien abgelegt ist...

Möglicherweise installiert Windows noch eine andere inf datei :-/

Ihr seid euch sicher, dass wenn ich die inf-Dateien "installiert" hab, der Plug ohne Probleme geht?
Wer zweifelt, detoniert nicht!'
Dieter Nuhr
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

Re: USB-Geräte-Installation - Plug&Play

  Alt 10. Dez 2006, 14:47
Beim Plug&Play von Windows, wird immer im dem Suchpfad (Standardmässig : <CD-ROM Laufwerk>:\I386) gesucht. Wenn ich in der Registry nun einen anderen oder einen zusaätzlichen Pfad eintrage, dann wird dort auch noch gesucht. Wird dort eine passende Inf-Datei gefunden, so wird die Hardware installiert. An einem ähnlichen Problem sitze ich auch. Ich habe es bis jetzt nur hinbekommen, dass sich zum Beispiel ein Druckertreiber nur unter Admin-Rechten so installieren lässt.

Der Registry-Pfad für den Suchpfad : (aus dem Gedächtnis, habe gerade Linux laufen, deshalb kann ich nicht nachschauen)
Zitat:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\
Hier den Wert SourcePath erweitern oder ändern. Die Pfade müssen getrennt werden durch ein Semikolon.

Die einzigste Möglichkeit sehe ich nur, dass man die Message oder was auch immer abfängt, womit dieser Plug&Play Dienst arbeitet. Nur wie das gehen soll, weiss ich nicht.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von diabox
diabox

Registriert seit: 13. Sep 2006
61 Beiträge
 
Delphi 2010 Professional
 
#7

Re: USB-Geräte-Installation - Plug&Play

  Alt 10. Dez 2006, 15:07
Also einen Weg gefunden zu erfahren was Windows genau macht hab ich bereits:
RegMon und FileMon von Sysinternals
Dabei jeweils den Prozess rundll32 überwachen...
Dadurch bin ich auch auf die erste inf-Datei gekommen, vllt hab ich eine zweite übersehn, kann ich leider nicht nachgucken - erst am Montag wieder :-/
Wer zweifelt, detoniert nicht!'
Dieter Nuhr
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

Re: USB-Geräte-Installation - Plug&Play

  Alt 12. Dez 2006, 08:29
Es werde verschiedene Einträge für ein USB-Gerät in der Registry gemacht. Diese Einträge sind für jedes Gerät anders, auch wenn es die gleiche Baureihe oder Typ ist.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:30 Uhr.
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