Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Komponente 'mxProtector' und Windows Vista (https://www.delphipraxis.net/103468-komponente-mxprotector-und-windows-vista.html)

Mike_on_Tour 16. Nov 2007 08:37


Komponente 'mxProtector' und Windows Vista
 
Hallo,

ich bin gerade dabei (besser: ich muß), ein fremdes Programm Vista-tauglich zu machen. Im Programm wird die Komponente 'mxProtector' mit der Option 'Registration' verwendet, d.h. die SW-Registrierung wird in der Registry in HKLM gespeichert. Unter Vista funktioniert das nur bedingt (Admin-Rechte). Wer hat Erfahrung mit dieser Komponente (unter Vista) und kann mir noch ein paar Tips geben ?

Mike

Aurelius 16. Nov 2007 08:59

Re: Komponente 'mxProtector' und Windows Vista
 
Das liegt imho nicht an der Kompo sondern an Vista. Normale User dürfen einfach nicht in "Local Machine" schreiben, das können nur Admins...

Mike_on_Tour 16. Nov 2007 09:08

Re: Komponente 'mxProtector' und Windows Vista
 
Habe ich das so undeutlich geschrieben ? :gruebel:

OK, also welche Möglichkeit(en) gibt es, die Komponente auch unter Vista weiter zu verwenden, ohne das Programm ständig mit Admin-Rechten zu starten ?

Mike

Aurelius 16. Nov 2007 09:10

Re: Komponente 'mxProtector' und Windows Vista
 
Den RegistryEintrag unter "Current User" schreiben?

Mike_on_Tour 16. Nov 2007 09:13

Re: Komponente 'mxProtector' und Windows Vista
 
Das hat zur Folge, daß die Software-Registrierung für jeden Benutzer gemacht werden muß. Das ist nicht praxistauglich. Die Software soll nur einmal registriert werden, für alle bestehenden und zukünftigen Benutzer.

Mike

Aurelius 16. Nov 2007 09:18

Re: Komponente 'mxProtector' und Windows Vista
 
dann würde ich es so machen, dass bei der Installation der SW alle wichtigen und notwendigen Sachen unter HKLM geschrieben werden und User-definierte Sachen eben unter HKCU. Wenn irgend eine Einstellung global geändert werden muss muss eben der Admin ran. Ich denke dass man Einträge unter HKLM auch mit normalen Rechten Lesen kann, aber eben nicht schreiben. Dein Problem lässt sich nicht in der Richtung lösen dass alle user, ob Admin oder nicht, in HKLM schreiben können. das lässt das Betriebssystem einfach nicht zu (und das zurecht! Sonst könnte sich ein Virus in den AutostartEintrag in der HKLM schreiben und dann wird er ja immer ausgeführt)

RavenIV 16. Nov 2007 09:22

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von Mike_on_Tour
Hallo,

ich bin gerade dabei (besser: ich muß), ein fremdes Programm Vista-tauglich zu machen. Im Programm wird die Komponente 'mxProtector' mit der Option 'Registration' verwendet, d.h. die SW-Registrierung wird in der Registry in HKLM gespeichert. Unter Vista funktioniert das nur bedingt (Admin-Rechte). Wer hat Erfahrung mit dieser Komponente (unter Vista) und kann mir noch ein paar Tips geben ?

Mike

Auf der angegebenen Webseite (bei Download) steht, dass der SourceCode dabei ist.
Also sollte das ja kein Problem sein, die Daten in einen anderen Registry-Pfad zu schreiben.

Schau dir mal den Zweig "HKEY_USERS" an, dort gibt es einen "DEFAULT".
Soweit ich weiss, wird dieser Teil bei einem neuen User kopiert.

Und die Installer können das ja auch.
"Soll die Software für alle Benutzer dieses PCs verfügbar sein?"

Mike_on_Tour 16. Nov 2007 09:31

Re: Komponente 'mxProtector' und Windows Vista
 
@xX0815Xx:
Das ist mir alles schon klar. Eine Registrierung während der Installation ist (aus historischen Gründen) nicht machbar und ich möchte jetzt auch nicht anfangen, den Programmcode in großem Stil zu ändern. Gibt es da keine andere Lösung ?
Kennst Du die Komponente überhaupt ?

Mike

Aurelius 16. Nov 2007 09:34

Re: Komponente 'mxProtector' und Windows Vista
 
Nein ich kenne die Kompo nicht. Aber wenn du mir das Problem beschreibst dass du unter Vista in die HKLM schreiben willst kann ich dir sagen dass das mit Benutzerrechten einfach nicht funktionieren wird. Da kannst du mit deiner Kompo auch nichts machen.

RavenIV 16. Nov 2007 09:37

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von Mike_on_Tour
@xX0815Xx:
Das ist mir alles schon klar. Eine Registrierung während der Installation ist (aus historischen Gründen) nicht machbar und ich möchte jetzt auch nicht anfangen, den Programmcode in großem Stil zu ändern. Gibt es da keine andere Lösung ?
Kennst Du die Komponente überhaupt ?

Mike

Ich würde es so ähnlich machen wie von xX0815Xx vorgeschlagen.
Die globalen Einstellungen in HKLM schreiben. Wenn was geändert werden muss, dann muss das halt ein Admin ändern.
Evtl kannst Du Dir ja auch temporär in der Software Admin-Rechte holen.
Die Benutzerdaten kommen dann in HKCU.

Mike_on_Tour 16. Nov 2007 09:40

Re: Komponente 'mxProtector' und Windows Vista
 
@RavenIV:
Eine Anpassung des Sourcecodes habe ich (für den Notfall) auch schon in Erwägung gezogen.
Zitat:

"Soll die Software für alle Benutzer dieses PCs verfügbar sein?"
Ja.

RavenIV 16. Nov 2007 09:41

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von Mike_on_Tour
@RavenIV:
Eine Anpassung des Sourcecodes habe ich (für den Notfall) auch schon in Erwägung gezogen.
Zitat:

"Soll die Software für alle Benutzer dieses PCs verfügbar sein?"
Ja.

Also, Ran an den Speck.

Die Frage war so gemeint, dass sie vom Installer kommt.
Also muss es ja irgendwie gehen.

Mike_on_Tour 16. Nov 2007 09:51

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von xX0815Xx
Nein ich kenne die Kompo nicht. Aber wenn du mir das Problem beschreibst dass du unter Vista in die HKLM schreiben willst kann ich dir sagen dass das mit Benutzerrechten einfach nicht funktionieren wird. Da kannst du mit deiner Kompo auch nichts machen.

Gut. Also, nicht ich will in die Registry schreiben, sondern die Komponente. Dazu bietet die Komponente nur HKLM oder HKCU an. HKCU entfällt aus bereits genannten Gründen. HKLM funktioniert nur mit Admin-Rechten.
Zitat:

Zitat von RavenIV
Schau dir mal den Zweig "HKEY_USERS" an, dort gibt es einen "DEFAULT".
Soweit ich weiss, wird dieser Teil bei einem neuen User kopiert.

Bei neuen Benutzern werden diese Einträge übernommen. Besteht ein Benutzer bereits, werden die Einträge nicht automatisch abgeglichen. Oder ?

Mike_on_Tour 16. Nov 2007 09:57

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von RavenIV
Also, Ran an den Speck.

Gute Idee. Es ist eh gleich Mittag. :)
Also, ich bin dann mal weg.

RavenIV 16. Nov 2007 09:59

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von Mike_on_Tour
Zitat:

Zitat von RavenIV
Also, Ran an den Speck.

Gute Idee. Es ist eh gleich Mittag. :)
Also, ich bin dann mal weg.

Mittag????
Ist bei Euch noch Sommerzeit?
Oder bist Du im Ausland?

"Ran an den Speck" => "Mach Dich an die Arbeit".

Aurelius 16. Nov 2007 10:02

Re: Komponente 'mxProtector' und Windows Vista
 
Naja, für die einen ist Mittag gegen 10 Uhr, bei den anderen gegen 14 Uhr :D

Außerdem kommt es ja auch drauf an was man mit Mittag meint. "mittag essen gehen" oder eben "mitte des Tages"

Mike_on_Tour 16. Nov 2007 12:27

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von RavenIV
Mittag????
Ist bei Euch noch Sommerzeit?
Oder bist Du im Ausland?

1. Ok, es war kurz vor Mittag.
2. Sommerzeit ist nicht mehr.
3. Ja, in Bayern. :)

Zitat:

Zitat von RavenIV
"Ran an den Speck" => "Mach Dich an die Arbeit".

Das habe ich schon verstanden. Du brauchst wohl die Lösung ?

Mike

RavenIV 16. Nov 2007 12:30

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von Mike_on_Tour
Zitat:

Zitat von RavenIV
"Ran an den Speck" => "Mach Dich an die Arbeit".

Das habe ich schon verstanden. Du brauchst wohl die Lösung ?

Ja, wäre schon gut.
Ich komme demnächst an ein ähnliches Problem.
Bei unserer Software werden u.a. die Fenstereinstellungen in der Registry gespeichert.
Natürlich in HKLM. Diese sollen dann auch in HKCU.
Der Rest soll in HKLM bleiben und nur vom Admin verändert werden können.

RWarnecke 16. Nov 2007 13:34

Re: Komponente 'mxProtector' und Windows Vista
 
Was haltet Ihr davon euch die Admin-Rechte prinzipell über das VISTA Menifest zu hoelen ? Ist nur mal so eine Idee, die ich in den Raum schmeiße.

RavenIV 16. Nov 2007 13:36

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von RWarnecke
Was haltet Ihr davon euch die Admin-Rechte prinzipell über das VISTA Menifest zu hoelen ? Ist nur mal so eine Idee, die ich in den Raum schmeiße.

Nunja, der User soll ja nicht st$ndig mit Admin-Rechten arbeiten.
Nur gewisse Einstellungen sollen mit Admin-Rechten in die Registry eingetragen werden.

RWarnecke 16. Nov 2007 13:41

Re: Komponente 'mxProtector' und Windows Vista
 
Das Manifest sorgt ja auch nur dafür, dass diese eine Anwendung mit Adminrechten arbeitet. Das Manifest macht nichts anderes als wenn Du die Anwendung über das Kontextmenü "Als Administrator starten" startest.

Mike_on_Tour 17. Nov 2007 07:10

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von RWarnecke
Was haltet Ihr davon euch die Admin-Rechte prinzipell über das VISTA Menifest zu hoelen ? Ist nur mal so eine Idee, die ich in den Raum schmeiße.

Das wäre die einfachste Lösung: Gib dem Programm Admin-Rechte, schon klappt wieder alles und "Programmierfehler" sind vertuscht.

Wie 'RavenIV' aber schon sagt, soll der User, äh.. das Programm, nicht ständig mit Admin-Rechten arbeiten. Es muß (soll) also eine andere Lösung geben.

Ich wollte ursprünglich auch den Weg mit dem Manifest gehen, weil ich Bedenken hatte, das das Programm unter Vista gar nicht oder nur mit Fehlern läuft. Aber sie da, ein paar Anweisungen und Verzeichnisse sauber programmiert, läuft das Programm auch ohne das Manifest. Einziges Problem ist die Software-Lizensierung (mittels Komponente mxProtector). Und da arbeite ich dran.

Mike

RWarnecke 17. Nov 2007 07:54

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von Mike_on_Tour
Das wäre die einfachste Lösung: Gib dem Programm Admin-Rechte, schon klappt wieder alles und "Programmierfehler" sind vertuscht.

Programmierfehler sind vertuscht ? Das musste mir mal Anhand eine Beispiels erklären. Ich vertusche Damit doch keine Programmierfehler. Unter Windows XP kann ich ja zum Beispiel auch nicht als Benutzer oder Hauptbenutzer in viele Schlüssel von HKLM schreiben sondern nur lesend drauf zugreifen.

Das heißt also, dass Du irgendwelche Berechtigungen vom Schlüssel ändern musst oder die entsprechende Gruppenrichtline ändern musst. Dazu brauchst Du aber auch wiederum Admin-Rechte. Irgendwie klingt das für mich so, das ich mir als normaler Benutzer irgendwelche Rechte holen kann und das spricht gegen die Sicherheitsregeln von Microsoft.

Mike_on_Tour 18. Nov 2007 17:30

Re: Komponente 'mxProtector' und Windows Vista
 
Zitat:

Zitat von RWarnecke
Zitat:

Zitat von Mike_on_Tour
Das wäre die einfachste Lösung: Gib dem Programm Admin-Rechte, schon klappt wieder alles und "Programmierfehler" sind vertuscht.

Programmierfehler sind vertuscht ? Das musste mir mal Anhand eine Beispiels erklären. Ich vertusche Damit doch keine Programmierfehler.

Ok, der "Programmierfehler" war vielleicht etwas unglücklich formuliert. Ich will’s noch mal versuchen. Also, man speichert irgend eine Einstellung in der Registry. Warum ? Um den Benutzer zu ärgern ? Weil die Daten nicht so einfach geändert werden können ? Weil die Registry ein zentraler Ort ist für alle Daten ? Weil es Standard ist ? Man kann die Daten auch in einer Datei speichern, als Text oder verschlüsselt. OK, man beachtet noch etwas die Benutzerrechte und das Programm läuft. Nun kommt Micro$oft und führt neue Regeln ein. Das Programm läuft nicht mehr, weil keine ausreichenden Zugriffsrechte existieren. Gründe kann es viele geben: Man hat die Daten vielleicht in der Registry unter HKLM gespeichert. Vielleicht steht das Konfig-File auch im Programmverzeichnis. Oder man hat vielleicht statt Systemwerte (z.B. CSIDL....) feste Angaben (z.B. C:\Pfad\Pfad) geschrieben. Wenn man jetzt dem Programm einfach per Manifest Admin-Rechte zuordnet damit alles wieder funktioniert, ist das etwas einfach gemacht, denn das Problem ist ja nicht wirklich behoben. Besser ist doch das Problem richtig zu lösen, auch wenn es mehr Zeitaufwand bedeutet. Insofern ist es für mich eben ein "Programmierfehler".

Und ich habe ja auch nicht behauptet, dass ich alles richtig machen würde. Ich bin aber für eine ordentliche und nicht immer für eine schnelle Problemlösung.

In meinem Fall kann das bedeuten, die Daten z.B. nicht mehr im Programmverzeichnis zu schreiben und in der Registry zu speichern. Das ist zwar ein großer Aufwand, aber für die Zukunft sicher besser. Wer weiß, ob Micro$oft beim nächsten Mal nicht noch was Neues auf Lager hat. Erste Programmtests zeigen ja auch schon, dass es ohne die Admin-Rechte per Manifest auch geht. Bis auf die kleine Ausnahme "mxProtector". Und damit bin ich wieder bei meinem eigentlichen Anliegen für diesen Thread, nämlich der Suche nach Usern, die mit dieser Komponente schon mehr Erfahrung haben als ich und mir noch etwas Hilfe geben können.

Mike


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 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