VB6-Programm mit INI-Dateien in Vista betreiben

24/07/2008 - 16:05 von Frank Lehmann | Report spam
Hallo NG,

um ein langjàhriges VB6-Programm auch unter Vista betreiben
zu können, habe ich alle Registry-Eintràge und die
Schreibzugriffe in C:\Programme\Firma\Anwendung

auf COMMON_APPDATA\Firma\COMMONS.INI
und COMMON_APPDATA\Firma\Anwendung\HKLM.INI

umgestellt.
Gleich vorweg, meine Kenntnisse des Sicherheitskonzepts
von Vista (UAC usw.) sind noch sehr gering.

Die Anwendung wurde mit Admin-Rechten aus einem
InstallShield-Paket installiert (kein Windows-Installer)
und mit Admin-Rechten erstmalig aufgerufen.
Dabei wurden die COMMONS.INI und HKLM.INI für einen
Lizenzschlüssel angelegt und Eintràge geschrieben.

Nach Login durch einen nicht-admin. Nutzer schlàgt vermutlich
die Virtualisierung zu, und meine Anwendung liest die
Eintràge trotz Verweis auf COMMON_APPDATA sonstwo
und erhàlt leere Eintràge zurück. Im Ergebnis wird gemeldet,
dass der Lizenzschlüssel ungültig ist.

Meine Frage: Kann ich in Vista den Verzeichnisbereich
von COMMON_APPDATA so benutzen, dass alle Nutzer
die dort hinterlegten Einstellungen physikalisch an derselben Stelle
lesen und schreiben können - wenn ja, wodurch wird das in Vista
bewerkstelligt?
Oder gibt es einen geeigneteren Verzeichnisbereich,
um gemeinsame Anwendungsdaten zu verwalten?

Ich habe leider noch kein Vista, um das zu erforschen.
Das Problem ist bis jetzt nur beim allerersten Kunden mit
Vista aufgetreten. Beim Login als Admin làuft die Anwendung,
aber eben nicht als nicht-admin. Nutzer.

Dank an alle, die helfen wollen.

Gruß
Frank Lehmann
 

Lesen sie die antworten

#1 Thorsten Doerfler
24/07/2008 - 16:25 | Warnen spam
"Frank Lehmann" schrieb:

um ein langjàhriges VB6-Programm auch unter Vista betreiben
zu können, habe ich alle Registry-Eintràge und die
Schreibzugriffe in C:\Programme\Firma\Anwendung

auf COMMON_APPDATA\Firma\COMMONS.INI
und COMMON_APPDATA\Firma\Anwendung\HKLM.INI

umgestellt.



Die Registry-Eintràge hàttest Du nicht in eine INI auslagern müssen. Der
Zugriff auf die Registry hat sich nicht geàndert.

Die Anwendung wurde mit Admin-Rechten aus einem
InstallShield-Paket installiert (kein Windows-Installer)
und mit Admin-Rechten erstmalig aufgerufen.



Hat der Anwender dabei bedacht, dass er selbst als Mitglied der Gruppe der
Administratoren, unter Vista kein Administrator ist, sondern sich dieses
Recht erst durch "Ausführen als Administrator" vom System erbetteln muss?
Führt er das Setup (hier erledigt Vista je nach Name der Setupdatei, die
Rechteerhöhung automatisch) oder Deine Anwendung nicht über diesen Umweg
aus, wird es als normaler Benutzer gestartet und die Virtualisierung schlàgt
zu.

Meine Frage: Kann ich in Vista den Verzeichnisbereich
von COMMON_APPDATA so benutzen, dass alle Nutzer
die dort hinterlegten Einstellungen physikalisch an derselben Stelle
lesen und schreiben können - wenn ja, wodurch wird das in Vista
bewerkstelligt?



Solange die Anwendung beim ersten mal wirklich als Administrator ausgeführt
wird, braucht man keine Virtualisierung fürchten.

Ich habe leider noch kein Vista, um das zu erforschen.



Wàre allerdings langfristig gesehen ratsam. Ansonsten würde ich das Programm
nicht für dieses System freigeben, da Du es nicht hinreichend testen kannst.

Thorsten Dörfler

Ähnliche fragen