![]() |
Registry Permissions setzen
Hallo,
ich schreibe ein Tool, welches die Registry Einträge für den USB und FTDIBUS port setzt. Dazu muss ich im Pfad CurrentControlSet/Enum/ (Systempfad) Einträge erstellen. Dies wird von der Windows Seite her nicht erlaubt (Permissions). ich habe es mit der Funktion RegCreateKeyEx probiert, wobei ich die access Rechte auf KEY_ALL_ACCESS setzte, was auch nicht funktioniert hat (access denied). Ich suche nun eine Klasse, tool, Funktion was auch immer womit ich diese permissions setzen kann und so die Einträge schreiben kann. Ich habe schon einige Themen darüber gelesen aber leider nichts gefunden. Danke für Eure Hilfe. Flinn |
Re: Registry Permissions setzen
Finger weg von diesen Registry-Eintraegen.
Das Installieren oder Deinstallieren der Treiber geht ueber Setup API Funktionen. |
Re: Registry Permissions setzen
Zitat:
|
Re: Registry Permissions setzen
ich hab das ja über die API Funktion RegCreateKeyex probiert und das Flag
'samDesired' auf 'KEY_ALL_ACCESS' gesetzt und es hat denoch ein access denied gegeben. Die Zugriffsrechte von Hand kann man ja auch einfach so ändern. Also müsste es doch irgend eine Möglichkeit geben, dies in meinen Programm umzusetzen. Kann mir niemand weiter helfen, wie ich diese Rechte programmtechnisch ändern kann?? Flinn |
Re: Registry Permissions setzen
Verkeil dich doch nicht in dieser Ecke.
Was willst du eigentlich erreichen und warum willst du das erreichen? Wahrscheinlich doch die Registry-Eintraege fuer ein USB-Device loeschen, damit der Treiber neu zugewiesen werden kann. Das loest man aber auf andere Weise. |
Re: Registry Permissions setzen
Zitat:
Zitat:
|
Re: Registry Permissions setzen
ich muss für meine Facharbeit ein Tool schreiben, welches die Treiber für eine Hardware
schon im voraus (bevor man es mit dem Computer verbindet) installiert, sodass man die hardware danach verbinden kann und keine Nachricht von wegen 'Neue hardware bla bla bla' erscheint. Das ist alles. Und somit ist es zwingend, dass ich die Rechte erhalte um diese Einträge zu schreiben. Ich verstehe dass jezt mit dem KEY_ALL_ACCESS. sorry hat ein wenig länger gedauert... Aber hat nun jemand einen Lösungsvorschlag wie ich das erreichen könnte?? |
Re: Registry Permissions setzen
Zitat:
Zitat:
|
Re: Registry Permissions setzen
Also habt Ihr keine Lösungsvorschläge wie man die Permission setzen kann??
Viel kann da ja nicht passieren wenn man eigene Key's an bestimmten Orten erstellt. Ich lösch ja nichts oder änder auch nichts ab, ich erstelle bloss eigene. merci ade |
Re: Registry Permissions setzen
Warum sind die Leute denn immer so beratungsresistent?
Treiber fuer ein Geraet werden per INF-File installiert. Dabei koennen CoInstaller involviert sein, die im Prinzip alles duerfen wie Zusatzapplikationen installieren usw. Man installiert also das INF-File per Setup API Funktionen. Teil der Installation sollte ein signierter Treiber sein, da XP sonst immer den Treibersuchdialog zeigt. Es empfiehlt sich also das Platform SDK ueber INF files zu lesen bis man es versteht. UpdateDriverForPlugAndPlayDevices ist uebrigens auch noch eine wichtige Funktion mit der man sich vertraut machen sollte. |
Re: Registry Permissions setzen
Das kenn ich schon. Ich hab die API Funktionen um INF Files zu
installieren auch schon gebraucht. Und die UpDate Registry Funktion habe ich da auch gebraucht. Danke aber für die Ausführung und Erklärung. Mein Problem ist nun aber das für die Hardware 9 virtuelle comports installiert werden müssen, mit einer BESTIMMTEN PORT BELEGUNG, das heisst nach vorgabe müsssen die ComPorts mit den Nummern COM80-COM88 belegt werden. Die ComPorts sind eben genau dort in der Registry beschrieben, wo ich keine Rechte habe. Um nun die Port belegung wie gewünscht zu setzen, brauche ich also die Rechte um dort schreiben zu dürfen. Also nochmalls meine Frage: Kennt jemand einen Weg, um die Rechte zu erhalten?? Flinn |
Re: Registry Permissions setzen
Auch das sollte ueber die Setup API oder Config Manager API Funktionen zu erreichen sein.
Besorg dir mal die Module scapi und win32api von ![]() In scapi ist das Beispiel "COM Ports". das duerfte etwas Licht ins Dunkel bringen. Wie man allerdings das macht bevor jemals ein Device installiert wurde ist schwer zu beantworten. Dazu wuerde ich an deiner Stelle mal in der Microsoft Drivers Newsgroup fragen. ![]() Die Brechstange des vorinstallierens direkt in der Registry geht aber schief, da dort noch andere Eintraege zu beruecksichtigen sind und RS232-Adapter ueblicherweise Seriennummern haben. Ohne die Seriennummer kann man nicht die korrekten Registry-Eintraege schreiben. |
Re: Registry Permissions setzen
Dieser Thread ist uebrigens ein klassischer Fall von falscher Frage.
Es wurde nicht das Problem beschrieben, sondern wie man es loesen will. Damit fehlt komplett der Kontext, insbesondere der Rahmen des vorhandenen Fachwissens. Als Folge habe ich einen einen Durchschnittsdoedel angenommen und diesem angemessene Warnungen um die Ohren gehauen. Da aber diese Annahme falsch war sind die Warnungen nun sowohl unangemessen als auch am Thema vorbei. Erst jetzt wo klar ist was erreicht werden soll kann ein vernuenftiger Informationsaustausch stattfinden. |
Re: Registry Permissions setzen
Da muss ich dir recht geben, habe zu wenig genau formuliert.
Liegt woll daran dass ich ziemlich im schetress bin... Ich kenne aber sämtliche Einträge, die gemacht werden, da ich die korrekte Installation via Windows mit dem RegMonitor analysiert habe und so genau gesehen habe, was geschrieben wird. Ebenfalls kenne ich die Seriennummer, da ich die Seriennummer der Hardware selber programmieren kann. Ich mache also SÄMTLICHE Einträge richtig und sollte jezt nur noch die Ports richtig setzen. Dazu brauche ich hald nun mal die nötigen Rechte. Ich werde mich aber nun mal noch bei den angegebenen Quellen schlau machen. Falls jemand doch noch eine Lösung zu meinem Problem hat, wäre ich sehr dankbar. Flinto |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz