AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein USB Gerät völlig aus Registry löschen
Thema durchsuchen
Ansicht
Themen-Optionen

USB Gerät völlig aus Registry löschen

Ein Thema von Osse · begonnen am 19. Jul 2005 · letzter Beitrag vom 21. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
Osse

Registriert seit: 25. Mär 2005
Ort: Hamburg
74 Beiträge
 
Delphi 5 Enterprise
 
#1

USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 09:40
Moin, Moin

meine Abreit neigt sich dem ersehnten Ende,
aber jetzt gibt es mal wieder einrichtig großes Problem für mich.

Für meine Anwendung benutze ich ein exterens USB Gerät.
Die Firma, welche die Hardware herstellt, bietet auch eine .inf Datei zur Installation an.
Der Treiber wird installiert und funktioniert auch, läuft ganz hervorragend und alles ist so wie es sein soll.

Ich arbeitet zwar mit Inno Setup,lasse die Treiberinstallation vom Benutzer ausführen, da es recht kopliziert sein soll, Plug and Play geräte zu installieren.
Irgendwie wegen Windows, da man bei einem Plug and play Gerät die Werte nicht einfach statisch in die Registry eintragen kann (hab ich mir sagen lassen).

Dies soll aber nicht mein Problem sein, sondern Probleme macht mir die Deinsatllation der USB Hardware.

Wenn mein Tool deinstalliert wird, sollen auch alle Systemeinträge gelöscht werden, so dass keine Spuren mehr von dem Programm übrig bleiben. Da diese Vorgabe auch für die Registry gilt, versuche ich alles zu löschen, was von der .inf Datei angelegt wurde.

Ich habe in den Verzeichnissen

HKEY_Lokal_Machine\System\CurrentControllSet\Servi ces\blabla
Diesen Eintrag kann ich Problemlos löschen, das hab ich schon versucht.

Hab mal nach der ClassGuid Nummer gesucht, und da hab ich auch noch son Haufen einträge gefunden.
Diese Nummer gibt Windows doch an, um welches Gerät es sich handelt, oder???

HKEY_Lokal_Machine\ControllSet001\Controll\Class\{ FF64...}
HKEY_Lokal_Machine\ControllSet002\Controll\Class\{ FF64...}
HKEY_Lokal_Machine\CurrentControllSet\Class\{FF64. ..}

Nachdem ich eben nur einen Teil der Einträge deinstalliert hatte, kam auch promt ne Fehlermeldung beim erneuten Treiber regestrieren.
Ich möchte zunächst hier fragen bevor ich stundenlang mit der Systemwiederherstellung arbeite.
Ich will mein System soweit sauber haben, dass nach der deinstallation beim erneuten "einstecken" des USB-Adapters wieder das
Windos Hardware Installationsscript erscheint. Dann müssten doch alle Einträge gelöscht sein, oder??

Gibt es denn überhaupt gute Tutorials über die Registry. Bei google finde ich irgendwie nicht so spannende Sachen.
Kann natürlich auch an meinen Eingaben liegen.

Danke
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 10:49
Der einfachste Weg geht darueber das Geraet im Geraetemanager zu loeschen waehrend es eingesteckt ist.
Nicht in der Registry rumpfuschen!
Es gibt noch eine Menge andere Eintraege fuer das Geraet.

Programmatisch geht es ueber das Setup API und damit ueber das INF File.
Es koennen dort CoInstaller eingetragen sein, die beliebige Hilfsprogramme installiert haben koennen.
  Mit Zitat antworten Zitat
Osse

Registriert seit: 25. Mär 2005
Ort: Hamburg
74 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 15:01
Hab mich mal versucht in das Thema einzulesen, aber irgendwie scheint das so ja recht kompliziert zu sein.
Zumindest für einen ahnungslosen Elektrotechniker..

Bei windows steht, dass man eine .dll mit installieren sollte, die den löschvorgang dann vornimmt. Kann ich nicht einfach die .inf Datei invertieren, so auf ganz doof und Sie dann "irgendwie" (wäre dann gut zu wissen wie) auszuführen??

Danke
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 15:18
Zitat von Robert Marquardt:
Der einfachste Weg geht darueber das Geraet im Geraetemanager zu loeschen waehrend es eingesteckt ist.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Osse

Registriert seit: 25. Mär 2005
Ort: Hamburg
74 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 15:41
Ok, das wäre die erste Möglichkeit.

Die zweite wäre über Software.

Das kann doch gar nicht so schwierig sein, man muss nur wissen wie es geht

Zitat:
Es gibt noch eine Menge andere Eintraege fuer das Geraet
Wo kann das Nachlesen, welche Einträge noch gemacht werden??
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 16:37
es gibt API-funktionen, um auf den gerätemanager zuzugreifen. für weiteres musst du wohl Luckie oder Olli fragen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 18:33
Zitat von DGL-luke:
es gibt API-funktionen, um auf den gerätemanager zuzugreifen. für weiteres musst du wohl Luckie oder Olli fragen.
Es gibt auch einen einfacheren Weg:
Code:
set devmgr_show_nonpresent_devices=1
start devmgmt.msc
So zeigt der Gerätemanager auch die halb/bzw. nicht richtig installieren Treiber und Geräte an.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 18:45
Eigentlich ganz einfach, du musst nur festhalten welche USB-Geräte vor der Installation
Vorhanden sind und welche anschließend. Somit weist Du was gelöscht werden muss.
In der Regel befindet sich das gesuchte Gerät unterhalb von HKLM\System\CurrentControlSet\Enum

Je nach dem in USB oder USBSTOR oder …, musst halt die Unterschlüssel durchsehen.
Hast du das betreffende Gerät gefunden, sind auch alle Werte zum löschen vorhanden (siehe Bild).
Um das Gerät so zu entfernen, dass Windows es neu erkennt und den, ja noch vorhandenen Treiber,
erneut einbindet reicht es aus den Wert oberhalb des im Bild selektierten zu löschen.

Das war die einfache Art und Weise(und nicht unbedingt die Korrekte).

Über das API geht es natürlich auch, such innerhalb der DP nach USB oder fang hier von unten anUSB Speicher sicher entfernen

Gruß
Miniaturansicht angehängter Grafiken
usb_114.jpg  
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 18:51
Das laeuft alles ueber das Setup API. Ich habe aber noch nicht mit diesem Teil des APIs gespielt.
Es gibt erst mal zwei Arten von Class die das Setup API kennt.
Setup Class: das sind die Klassen die von den INF Files gebildet werden und im Geraetemanager vorkommen.
Device Class: das sind die Geraete wie USB-Geraete usw.
Zusaetzlich erschwert wird die Sache das ein Geraet in Wirklichkeit aus mehreren Geraeten bestehen kann und deshalb in mehreren Klassen auftauchen kann.
Ein USB Stick ist ein USB-Geraet, ein USBSTOR-Geraet und ein Volume-Geraet.
Insgesamt sind die Geraete in einem Baum untergebracht. Das ist worauf das Config Manager API arbeitet.
Das Setup API stuelpt sich darueber und verbindet den ganzen Wust.

Bei der Installation wird das INF File ausgefuehrt. dort koennen (muesen aber nicht) CoInstaller deklariert sein.
Die duerfen Hilfsapplikationen installieren und auch sonst fast alles.

Am besten sich durch die MSDN Doku arbeiten ausgehend von beispielsweise SetupDiCallClassInstaller.
Es empfiehlt sich das Programm/DLL zu finden das den Device Manager antreibt und dann mal zu schauen welche SetupDi-Funktionen importiert werden.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#10

Re: USB Gerät völlig aus Registry löschen

  Alt 19. Jul 2005, 18:54
Alter Mann, hoer auf mit deinen unsinnigen Vorschlaegen.
Es gibt sehr viele Registry-Eintraege und die meisten sind auch noch mit Zugriffsbeschraenkungen belegt.
Ist ein CoInstaller beteiligt, so kann es beliebig kompliziert werden.
Da ist der Weg ueber den Device Manager viel sicherer und gruendlicher.

Safe Removal hat uebrigens garnichts damit zu tun.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:20 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