Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Innosetup: Verständnisfrage zur Registry (HKCU) (https://www.delphipraxis.net/179371-innosetup-verstaendnisfrage-zur-registry-hkcu.html)

mkinzler 4. Mär 2014 07:50

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
Ich würde es auch nicht Klonen, sondern im 1. Schritt nur in HKLM schreiben, ändert ein Benutzer eine Einstellungen würde ich diese Änderung dann in HKCU schreiben. Das hat den Vortiel, dass bei einer Änderung der Standard, nicht alle Profile geändert werden müssen und das so einfacher ersichtlich ist, was individuell ist.

DeddyH 4. Mär 2014 07:57

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
Genau so hatte ich es ja in #2 skizziert.

Codehunter 4. Mär 2014 08:04

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
Zitat:

Zitat von mkinzler (Beitrag 1250463)
ändert ein Benutzer eine Einstellungen würde ich diese Änderung dann in HKCU schreiben

Ich nenne es der Einfachheit halber "Klonen", wobei mein Code im Grunde genau das tut was du sagst, nur beim Zugriff auf einen in HKCU nicht existierenden Wert wird er angelegt mit dem Default aus HKLM. Allerdings reicht in dem Fall schon ein Lesezugriff um das auszulösen. Das könnte ich noch ändern.

Doch an den beiden grundsätzlichen Problemen (kein Schreibzugriff als Standardbenutzer und Uninstaller) ändert das aber erstmal nichts.

mkinzler 4. Mär 2014 08:18

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
Zitat:

Ich nenne es der Einfachheit halber "Klonen", wobei mein Code im Grunde genau das tut was du sagst, nur beim Zugriff auf einen in HKCU nicht existierenden Wert wird er angelegt mit dem Default aus HKLM.
Das würde ich (und Detlef) ja gerade nicht machen, nur bei Änderungen. Kein Wert in HKCU = benutze Default (HKLM)

Codehunter 4. Mär 2014 08:37

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
Zitat:

Zitat von mkinzler (Beitrag 1250468)
Das würde ich (und Detlef) ja gerade nicht machen, nur bei Änderungen. Kein Wert in HKCU = benutze Default (HKLM)

Wie gesagt, das ließe sich ja leicht ändern. Nur muss man ja auch User-Settings speichern können. Das gehört nun mal nach HKCU und nicht nach HKLM.

Codehunter 4. Mär 2014 09:58

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
OK, Kommando zurück :-D

Der Fehler lag in dem Fall ganz woanders. Das Setup hat (aus welchen Gründen auch immer) manche Reg-Values überhaupt nicht angelegt. Weder in HKLM noch in HKCU. In dem Fall griffen in meinem Programm nur die Failsafe-Defaults und die sagten ganz simpel "Bloß nix anfassen, Baustelle!". Ergo erzeugte mein Code auch keine Schlüssel oder Werte in HKCU.

Asche auf mein Haupt :wall:

Luckie 4. Mär 2014 12:27

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
Noch eine Idee: Hinterlege die Standardeinstellungen im Programm. Werden sie geändert, werden sie in der Registry abgelegt. Beim Start wird geguckt, ob die Einstellungen in der Registry gefunden werden. Werden sie gefunden, werden diese geladen, ansonsten die Standardeinstellungen aus dem Programm.

Codehunter 4. Mär 2014 14:18

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
Ist vielleicht sogar die sicherste Lösung, dann wäre das Programm von Haus aus "portable".

Allerdings löst das immer noch noch nicht das Uninstaller-Problem. So ließe sich jedenfalls der Effekt erklären, dass die Registry im Lauf der Zeit immer größer und träger wird ^^

DeddyH 4. Mär 2014 14:33

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
Ich lehne mich mal weit aus dem Fenster und behaupte, das ist ein konzeptionelles Windows-Problem im Bezug auf den HKCU-Hive.

generic 4. Mär 2014 16:29

AW: Innosetup: Verständnisfrage zur Registry (HKCU)
 
Zitat:

Zitat von Codehunter (Beitrag 1250398)
Hallo!

Was ich nicht verstehe ist, wie andere Installer verfahren wenn man dort auswählt "Für alle Benutzer einrichten". Wird dann dort alles in den HKLM-Zweig geschrieben und das eigentliche Programm "klont" die Einstellungen dann in den jeweiligen HKCU-Zweig?

Bei dieser Frage geht es eigentlich nicht mehr da drum wo Einstellungen hin sollen.
Vielmehr unterscheidet der Windows Installer zwischen per-machine und per-user. Installation.

Bei einer Maschine Installation, wird die Anwendung unter "c:\programme" abgelegt.
Einstellung bezüglich der Software (keine Benutzereinstellungen) liegen dann unter HKLM.

Bei User Installation, werden keine Adminrechte benötigt. Die Anwendung installiert sich dann in Benutzerprofil inkl. der Anwendungseinstellungen unter HKCU.


Benutzerdaten werden immer erst beim ersten Programmstart eines Nutzers angelegt und dann in dessen Profil oder HKCU.
Falls Dateien von mehren Nutzer genutzt werden sollen, dann dürfen diese in %AppData% dazu sind aber Rechte zu vergeben, da der Ordner keine Schreibrechte für User hat.

Lässt sich hier auch nachlesen:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

http://blogs.msdn.com/b/windows_inst...windows-7.aspx




HKLM lässt sich übrigens auch nur mit erhöhten Rechten schreiben, daher lass das lieber die Finger von, da Benutzereinstellungen hin zu packen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr.
Seite 2 von 3     12 3      

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