Welcome to the Microsoft Windows Vista Community Forums - Vistaheads, YOUR Largest Resource for Windows Vista related information.
You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so , join our community today!
If you have any problems with the registration process or your account login, please contact us.
|
|
|
VB6-Programm mit INI-Dateien in Vista betreiben
microsoft.public.de.windows.vista.sicherheit
|
|

07-24-2008
|
|
|
|
VB6-Programm mit INI-Dateien in Vista betreiben
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
|
|

07-24-2008
|
|
|
|
Re: VB6-Programm mit INI-Dateien in Vista betreiben
"Frank Lehmann" <f.leh294@chat4world.com> 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
|
|

07-24-2008
|
|
|
|
Re: VB6-Programm mit INI-Dateien in Vista betreiben
Hallo Thorsten,
> Die Registry-Einträge hättest Du nicht in eine INI auslagern müssen. Der
> Zugriff auf die Registry hat sich nicht geändert.
Ich habe gelesen, dass auch die Registry-Einträge unter die Virtualisierung
fallen, also für alle HKLM Ersatz in HKCU angelegt wird.
> > 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.
Das muss ich beim Kunden unbedingt prüfen.
> > 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.
- Heißt das, dass keine Virtualisierung stattfindet, wenn das Programm
als "echter Administrator" installiert wurde und erstmalig aufgerufen wurde?
(damit gemeinsam zu verwendende Verzeichnisse und Dateien mit Owner Admin erzeugt werden)
- Und dann werden alle nicht-admin. Nutzer in dasselbe Verzeichnis von
COMMON_APPDATA gelenkt?
- Und haben Lese- und Schreibrechte?
> > 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.
Werde wohl mein eigenes Vista in Betrieb nehmen müssen - ganz klar.
Gruß
Frank Lehmann
|
|

07-24-2008
|
|
|
|
Re: VB6-Programm mit INI-Dateien in Vista betreiben
Frank Lehmann schrieb:
>> Die Registry-Einträge hättest Du nicht in eine INI auslagern müssen. Der
>> Zugriff auf die Registry hat sich nicht geändert.
>
> Ich habe gelesen, dass auch die Registry-Einträge unter die Virtualisierung
> fallen, also für alle HKLM Ersatz in HKCU angelegt wird.
Das passiert, wie eben im Dateisystem auch, nur dann, wenn Deine
Anwendung dort schreiben möchte, obwohl der ausführende User dazu
nicht berechtigt 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?
>> Solange die Anwendung beim ersten mal wirklich als Administrator ausgeführt
>> wird, braucht man keine Virtualisierung fürchten.
>
> - Heißt das, dass keine Virtualisierung stattfindet, wenn das Programm
> als "echter Administrator" installiert wurde und erstmalig aufgerufen wurde?
Yep.
> - Und dann werden alle nicht-admin. Nutzer in dasselbe Verzeichnis von
> COMMON_APPDATA gelenkt?
Alle Benutzer haben in diesem Ordner Leserechte, richtig. Nicht erst
seit Vista.
> - Und haben Lese- und Schreibrechte?
Nein, Schreibrechte haben sie dort nicht.
Thorsten Dörfler
--
Microsoft MVP Visual Basic
vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/
|
|

07-25-2008
|
|
|
|
Re: VB6-Programm mit INI-Dateien in Vista betreiben
Hallo Thorsten,
danke für Deine Auskünfte. Damit müsste ich doch nun
zum gewünschten Ergebnis kommen. Das Wichtigste ist
wohl tatsächlich, dass die Anwendung durch einen
"echten Administrator" installiert und initialisiert wird.
Und die Schreibrechte für alle nicht-admin. Nutzer für
COMMON_APPDATA kann man ja sicherlich anschließend
gewähren.
> > - Heißt das, dass keine Virtualisierung stattfindet, wenn das Programm
> > als "echter Administrator" installiert wurde und erstmalig aufgerufen wurde?
>
> Yep.
>
> > - Und dann werden alle nicht-admin. Nutzer in dasselbe Verzeichnis von
> > COMMON_APPDATA gelenkt?
>
> Alle Benutzer haben in diesem Ordner Leserechte, richtig. Nicht erst
> seit Vista.
>
> > - Und haben Lese- und Schreibrechte?
>
> Nein, Schreibrechte haben sie dort nicht.
Gruß
Frank Lehmann
|
|

07-25-2008
|
|
|
|
Re: VB6-Programm mit INI-Dateien in Vista betreiben
"Frank Lehmann" <f.leh294@chat4world.com> schrieb:
> Und die Schreibrechte für alle nicht-admin. Nutzer für
> COMMON_APPDATA kann man ja sicherlich anschließend
> gewähren.
Ja, müsste man manuell anpassen halt, wenn es notwendig ist.
Thorsten Dörfler
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT +1. The time now is 14:57.
|
|