AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung beim Schreiben in der Registry

Ein Thema von Amalkotey · begonnen am 16. Jul 2021 · letzter Beitrag vom 19. Aug 2021
Antwort Antwort
Benutzerbild von Amalkotey
Amalkotey

Registriert seit: 9. Feb 2004
Ort: Oberhausen
36 Beiträge
 
Delphi 2007 Enterprise
 
#1

Fehlermeldung beim Schreiben in der Registry

  Alt 16. Jul 2021, 17:28
Moin,

nach einer langen und schweren Erkrankung, bin ich gerade dabei, meine Programme an Windows 10 x64 mit Delphi 7 Pro anzupassen. Ich stelle nun mehr fest, das ich viel vergessen habe.

Nun zu meinnem Problem. Ich ver suche mit nachfolgenden Code

Delphi-Quellcode:
Procedure SetRegistryRun(User: Integer);
Var
  Reg: TRegistry;
  Titel : String;

Const
  KEY_WOW64_64KEY = $0100;
  KEY_WOW64_32KEY = $0200;

Begin
  If IsWow64 = True Then Begin
    Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_64KEY);
  End Else Begin
    Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_32KEY);
  End;
  Try
   If User = 1 Then
        Reg.RootKey := HKEY_LOCAL_MACHINE
      Else
        Reg.RootKey := HKEY_CURRENT_USER;
    If Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True) then Begin
      Titel := Application.Title;
         Titel := strLeft(Titel, Pos('WINDOWS', Titel) + 6);
      Reg.WriteString(Titel, Application.ExeName);
      AlertBox('SetRegistryRun: ' + SysErrorMessage(GetLastError), 'Fehlermeldung', 0);
       Reg.CloseKey;
    End;
   Finally
     Reg.Free;
   End;
End;
einen Wert in 'Software\Microsoft\Windows\CurrentVersion\Run' zu schreiben. Bei HKEY_CURRENT_USER funktioniert es einwandfrei. Bei HKEY_LOCAL_MASCHINE im Gegensatz nicht. Was ist Falsch? Ich bitte um Hilfe

-Amalkotey-
esdaS© - ESPRIT DATA SOFTWARE
[esdaS© := Software mit Charisma und Esprit]
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.552 Beiträge
 
Delphi 7 Professional
 
#2

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 16. Jul 2021, 17:45
Tippe mal darauf, dass Deine Anwendung nicht über die notwendigen Rechte zum Schreiben unter HKEY_LOCAL_MACHINE verfügt.

Was wird denn hier AlertBox('SetRegistryRun: ' + SysErrorMessage(GetLastError), 'Fehlermeldung', 0); konkret ausgegeben?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.313 Beiträge
 
Delphi 12 Athens
 
#3

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 16. Jul 2021, 20:00
Zitat:
Was wird denn hier
Falls es überhaupt bis dahin kommt und nicht vorher schon abraucht.

Wenn das Programm nicht als Administrator gestartet wurde, dann wird selbst eine Anwendung im AdminAccount erstmal Elevated gestartet und bekommt nicht sämtliche Rechte.



Und ja, es wäre bestimmt hilfreich gewesen, wenn jemand gesagt hätte, wie diese ominöse "Fehlermeldung" den lautet.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Amalkotey
Amalkotey

Registriert seit: 9. Feb 2004
Ort: Oberhausen
36 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 17. Jul 2021, 00:35
Tippe mal darauf, dass Deine Anwendung nicht über die notwendigen Rechte zum Schreiben unter HKEY_LOCAL_MACHINE verfügt.

Was wird denn hier AlertBox('SetRegistryRun: ' + SysErrorMessage(GetLastError), 'Fehlermeldung', 0); konkret ausgegeben?
An der Stelle wo die AlertBox ausgegben wird kommt die Abarbeitung nicht hin. Ich habe die Ausgabe jetzt in den Finally-Block gesetzt, und da Erscheit "Der Vorgang wurde erfolgreich beendet.". Anscheinscjhliessend erschein eine Mitteilung von "fehler bein setzen derDaten für ...". Ich gehe davon aus, das es An den Berechtigungen liegt, da die Daten bei HKEY_CURRENT_USER korrekt geschrieben werden.

Ich kann ich dem Programm die Berechtigungen erteilen? Unter Windows7 wurden die Daten korrekt geschrieben. Danke für die Hilfe im Voraus.

-Amalkotey-
esdaS© - ESPRIT DATA SOFTWARE
[esdaS© := Software mit Charisma und Esprit]
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.848 Beiträge
 
Delphi 12 Athens
 
#5

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 17. Jul 2021, 01:41
Ich kann ich dem Programm die Berechtigungen erteilen?
Du kannst es mit rechter Maustaste und Als Administrator ausführen starten.

Oder du kannst aus dem Programm heraus das Programm selbst noch einmal starten und dabei Adminrechte anfordern. Dazu gibst du dann noch Parameter mit, damit die neue Instanz weiß, dass sie die Werte in die Registry schreiben und sich wieder beenden soll statt normal zu starten.

Du kannst auch in den Projektoptionen unter Anwendung --> Manifest bei Aufruferebene den Eintrag Administrator erforderlich auswählen. Dann werden die Administratorrechte automatisch angefordert. Aber das ist für diesen Zweck nicht sinnvoll.

Unter Windows7 wurden die Daten korrekt geschrieben.
Dann waren die Rechte im System nicht richtig eingestellt, z.B. durch Deaktivierung der für die Sicherheit wichtigen Benutzerkontensteuerung.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Amalkotey
Amalkotey

Registriert seit: 9. Feb 2004
Ort: Oberhausen
36 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 17. Jul 2021, 16:21
Ich kann ich dem Programm die Berechtigungen erteilen?
Du kannst auch in den Projektoptionen unter Anwendung --> Manifest bei Aufruferebene den Eintrag Administrator erforderlich auswählen.
@Jänicke:

Unter Delphi 7 Enterprise gibt es diese Möglichkeit nicht.

-Amalkotey-
esdaS© - ESPRIT DATA SOFTWARE
[esdaS© := Software mit Charisma und Esprit]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.313 Beiträge
 
Delphi 12 Athens
 
#7

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 17. Jul 2021, 18:00
SuFu benutzen und fertiges Manifest suchen, bzw, selbst eines Bauen und als RES einbinden.
Ein Therapeut entspricht 1024 Gigapeut.
  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 00:00 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 by Thomas Breitkreuz