Re: Vista + HKLM + alte/neue Programme

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Hi,

"Martin Richter [MVP]" <martin.richter@xxxxxxxx> schrieb im Newsbeitrag news:funo5e.5m4.1@xxxxxxxxxxxxxxxxxxx
Hallo Holger!

Diese Migration wollte ich direkt in den entsprechenden Programmen einbauen.

Eine korrkte Migration wäre es gewesen alle Deine Programme mit einem Vista Manifest bereits in VC6 auszustatten!

Deine Entscheidungen hättest Du treffen sollen bevor Du Deine Software für Vista freigegeben hast!

Die Frage war, ob ich tatsächlich ein Problem haben werde, wenn
ich ein manifestloses VS6-Programm, dass bereits auf einem Rechner unter Vista
ausgeführt wurde und "wichtige" Daten nach HKLM geschrieben hat durch ein
manifestbehaftetes VS2008-Programm ersetze.

Außerdem ging es darum, wie ich meine hypotethische Funktionen
void SchreibeNachHKLM(CString Key, CString Wert);
void LeseVonHKLM(CString Key, CString &Wert);

Dein Programm kann nicht mehrnach HKLM schreiben! Außer es läuft als Admin. Aber dann hättest Du das von Anfang an so auch für Dein VC6 Programm definieren können!


derart aufbohre, dass sie sich automatisch richtig verhält auch wenn bereits vorher
die alte Version gelaufen ist.

Es kan sich nicht richtig verhalten, denn jeder User hat seinen eigenen HKLM Eintrag evtl. im Virtual Store und es mag durch das Setup noch den alten geben... der erhalten blieb als der Kunde den Eintrag änderte.

Szenario (ohne Vistae Manifest):
1. Software installiert und korrekt eingerichtet
- Es entseht ein Eintrag in HKLM
2. User 1 ändert HKLM Eintrag
- Eintrag wird geändert nach Virtual Store geschrieben und dieser Eintrag erhält der user wenn er in liest.
- der alte HKLM Eintrag ist existent! Weiterhin!
3. User 2 Liest immer noch alten HKLM Eintrag. Hat keinen Virtual Store eintrag
4. User 3-n macen es wie User1 und haben eigene Virtual Store Einträge

Welcher Eintrag ist nun der richtige?
Das Kuddel Muddel kann keiner vernünftig auflösen!

Du hättest von Anfang an für Vista arbeiten müssen!
Andernfalls hättest DU die Nutzung von Vista verbieten müssen!


so langsam kommen wir meinem Problem näher.
Die Antwort auf die Frage "hab ich ein problem" lautet entsprechend also "ja".

Also sollte ich bei einer Leseoperation zuerst im virtual store nachsehen und den
Wert nach HKLM kopieren und dann im virtual store löschen.
Und beim Schreiben den evntl. vorhandenen Wert im virtual store löschen und
normal nach HKLM schreiben.

Damit müßte ich doch das in den Brunnen gefallene Kind einigermaßen heil
wieder herausbekommen?

Tschüß, Holger.

.



Relevant Pages

  • Re: Vista + HKLM + alte/neue Programme
    ... Vista Manifest bereits in VC6 auszustatten! ... Es kan sich nicht richtig verhalten, denn jeder User hat seinen eigenen HKLM Eintrag evtl. ...
    (microsoft.public.de.vc)
  • Re: howto check for Registry write permission without UAE dialogue?
    ... In Vista, the correct way to do this is to *always* use HKCU, even if you have the privileges to write HKLM. ... And even if the user is an administrator, you're still going to fail unless the app currently actually has an admin token... ... Of course, you can always just go ahead and write to HKLM, and Vista will virtualize your registry writes to go into HKCU without your app noticing. ...
    (microsoft.public.development.device.drivers)
  • Re: database install
    ... Unfortunately, HKLM is verboten in Vista, while HKCU is ok. ... rules allowed before are now out the window, ... Hi Cy - On the other hand, HKLM was verboten in Windows2000 and WinXP ... But personally I do appreciate the particular idea not to use an Admin ...
    (microsoft.public.fox.programmer.exchange)
  • Re: Registry understanding (or lack!)
    ... In Vista, forget it: you can't do anything useful anyway. ... (In fact with Inno Installer you can write HKLM entries, ... Windows XP, that doesn't change it. ... administrator rights, but then I know when I need them and how to get ...
    (alt.comp.lang.borland-delphi)
  • Re: Vista + HKLM + alte/neue Programme
    ... Wert nach HKLM kopieren und dann im virtual store löschen. ...
    (microsoft.public.de.vc)