Benutzer mit den meisten Antworten
Ordnerstruktur in Windows 7

Frage
-
Hallo,
wenn ich ein fertiges VB Projekt auf meinem Rechner installieren möchte, habe ich bisher immer folgende Ordnerstruktur verwendet:
C:\Programme\<Programmname>
C:\Programme\<Programmname>\daten (für Datenbanken etc.)Nun habe ich gelesen, daß man unter Windows 7 diese Ordnerstruktur nicht mehr verwenden soll.
Welche Ordner muß ich unter Windows 7 denn nun anlegen, wenn ich zum Einen eine exe-Datei als Hauptprogramm habe und auf der anderen Seite mehrere Unterverzeichnisse mit Datenbanken, Hilfedateien, Sounds etc.
Es gibt da in Windows 7 ja jede Menge Ordner (Programmdata, C:\Users..., Roaming etc), dass man leider nicht mehr durchblickt.
Kann mir jemand sagen, wie es richtig laufen soll ?
Danke !
Jörg.
Antworten
-
Hallo Jörg,
wirklich helfen werde ich Dir nicht können, aber Dir vielleicht ein paar Hinweise geben, in welche Richtung Du weiter recherchieren kannst.
Im Prinzip kannst Du schon eine solche Struktur anlegen, aber ...
In den Ordnern unter %ProgramFiles% hat normalerweise ein User keine Schreibrechte und wenn Du dann dort (in einem Unterordner) eine Datenbank ablegen willst, dann ist die Schreibgeschützt; nicht so ganz im Sinne einer DB. Siehe z.B. TechNet Understanding and Configuring User Account Control in Windows Vista, wobei das Ändern der Berechtigungen eigentlich nicht so ganz im Sinne des Erfinders ist.Du könntest also nun die Datenbank im Profil des Users ablegen, dort hat er auch Schreibrecht. Das wäre dann als Beispiel C:\Users\<UserName>\AppData\Local\<CompanyName>\<AppName>
VB.NET bietet da einiges an Unterstützung, nur mit VB6 wirst Du da einiges selbst erledigen müssen, also Registry auslesen, um den Pfad zu ermmitteln, für jeden User die Template-DB umkopieren usw.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 25. März 2011 11:14
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 1. April 2011 16:19
-
Registry auslesen, um den Pfad zu ermmitteln
Ergänzend:
Wie ermittel ich den Pfad eines besonderen Ordners (z.B. "Eigene Dateien")?
http://vb-faq.de/article.php?id=85Pfade zu vordefinierten Systemordnern auflösen
http://www.vb-hellfire.de/knowlib/specialfolder.phpWenn alle Benutzer auf die gleiche Datenbank zugreifen sollen, kann man auch das Verzeichnis für gemeinsame Anwendungsdateien verwenden. Hier hat der Ersteller einer Datei/ eines Ordners Schreib- und Leserechte. Für andere Benutzer müssten diese Rechte nach dem Erstellen der Datei/ des Ordners explizit gesetzt werden. Dies könnte auch ein Setup bei der Installation übernehmen.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 25. März 2011 11:14
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 1. April 2011 16:19
Alle Antworten
-
Hallo Jörg,
wirklich helfen werde ich Dir nicht können, aber Dir vielleicht ein paar Hinweise geben, in welche Richtung Du weiter recherchieren kannst.
Im Prinzip kannst Du schon eine solche Struktur anlegen, aber ...
In den Ordnern unter %ProgramFiles% hat normalerweise ein User keine Schreibrechte und wenn Du dann dort (in einem Unterordner) eine Datenbank ablegen willst, dann ist die Schreibgeschützt; nicht so ganz im Sinne einer DB. Siehe z.B. TechNet Understanding and Configuring User Account Control in Windows Vista, wobei das Ändern der Berechtigungen eigentlich nicht so ganz im Sinne des Erfinders ist.Du könntest also nun die Datenbank im Profil des Users ablegen, dort hat er auch Schreibrecht. Das wäre dann als Beispiel C:\Users\<UserName>\AppData\Local\<CompanyName>\<AppName>
VB.NET bietet da einiges an Unterstützung, nur mit VB6 wirst Du da einiges selbst erledigen müssen, also Registry auslesen, um den Pfad zu ermmitteln, für jeden User die Template-DB umkopieren usw.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 25. März 2011 11:14
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 1. April 2011 16:19
-
Registry auslesen, um den Pfad zu ermmitteln
Ergänzend:
Wie ermittel ich den Pfad eines besonderen Ordners (z.B. "Eigene Dateien")?
http://vb-faq.de/article.php?id=85Pfade zu vordefinierten Systemordnern auflösen
http://www.vb-hellfire.de/knowlib/specialfolder.phpWenn alle Benutzer auf die gleiche Datenbank zugreifen sollen, kann man auch das Verzeichnis für gemeinsame Anwendungsdateien verwenden. Hier hat der Ersteller einer Datei/ eines Ordners Schreib- und Leserechte. Für andere Benutzer müssten diese Rechte nach dem Erstellen der Datei/ des Ordners explizit gesetzt werden. Dies könnte auch ein Setup bei der Installation übernehmen.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 25. März 2011 11:14
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 1. April 2011 16:19
-
Hallo Jörg122,
Schau Dir mal die folgenden Links an. Vielleicht können sie Dir mit Info weiter helfen.
Grüße,
Robert