Seite 1 von 2
Probleme Windows Vista und Windows 7
Verfasst: 19.12.2009 14:01
von amiga123
Hallo
Also ich habe folgendes Problem. Ich habe hier ein Programm geschrieben das unter Windows 2000 und XP fehlerfrei läuft.(Es liest und ändert eine txt.Datei)
Jetzt habe ich das Programm auf einem Windows Vista und Window7 Rechner installiert und siehe da es läuft zwar, ändert aber die Datei nicht mehr.
Habe nun in den Eigenschaften alles Freigegeben damit das Programm vollen Schreibzugriff hat, bringt aber nicht es kann immer noch keine Datei neu schreiben.
Im XP Kompatibilitäs Modus läuft alles wie gewünscht, ebenso wenn ich das Programm in einem seperaten Ordner installiere. (z.B. C:test/)
Weiß jemand woran das liegen könnte.
Gruß Amiga
Re: Probleme Windows Vista und Window 7
Verfasst: 19.12.2009 14:08
von TomS
amiga123 hat geschrieben:alles wie gewünscht, ebenso wenn ich das Programm in einem seperaten Ordner installiere. (z.B. C:test/)
Weiß jemand woran das liegen könnte.
Am Pfad?
C:\Programme\Irgendwas\deinProgramm.exe versucht
C:\Programme\Irgendwas\deineDatei.txt zu schreiben?
Geht nicht ohne Admin-Rechte afaik.
Config-Dateien und so Zeug besser in
%APPDATA%\ProgrammName\Datei.ext speichern.
Re: Probleme Windows Vista und Window 7
Verfasst: 19.12.2009 14:14
von ts-soft
Das ändern der Sicherheitseinstellungen sollte man eigentlich nicht machen, besser das Programm umschreiben.
Bei den Änderungen haste wohl nen Fehler gemacht.
Ordner Kontextmenü Eigenschaften auswählen, den Reiter Sicherheit auswählen,
bearbeiten auswählen, Benutzer (PC-Name\Benutzer) auswählen und bei Zulassen Vollzugriff auswählen.
Das ganze bringt Dir aber garnichts, wenn Du Deine Programme weitergeben willst. Also ändere besser
Dein Programm.
Gruß
Thomas
Re: Probleme Windows Vista und Window 7
Verfasst: 19.12.2009 14:32
von amiga123
TomS hat geschrieben:amiga123 hat geschrieben:alles wie gewünscht, ebenso wenn ich das Programm in einem seperaten Ordner installiere. (z.B. C:test/)
Weiß jemand woran das liegen könnte.
Am Pfad?
C:\Programme\Irgendwas\deinProgramm.exe versucht
C:\Programme\Irgendwas\deineDatei.txt zu schreiben?
Geht nicht ohne Admin-Rechte afaik.
Config-Dateien und so Zeug besser in
%APPDATA%\ProgrammName\Datei.ext speichern.
Hi
Was ist %APPDATA%\ProgrammName\Datei.ext ?? Tut mir leid das ich das nicht weiß.
gruß Amiga
Ups. Habe gerade was gefunden zu APPDATA.
Code: Alles auswählen
SetCurrentDirectory("%APPDATA%")
appdata.s=GetCurrentDirectory()
Debug appdata
ExamineDirectory(0, appdata, "")
; Verzeichnis auslesen
nur wenn ich das Aufrufe kommt eben nur der Pfad raus wie bei GetPathPart(DPfad$)
oder läuft das nur unter Vista/7
???
Re: Probleme Windows Vista und Window 7
Verfasst: 19.12.2009 14:53
von TomS
%APPDATA% ist eine Umgebungsvariable.
Unter XP ist das z.B. C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten\
Unter Vista glaube ich (nicht fressen, wenn's falsch ist) C:\Users\Benutzername\Anwendungsdaten\
Dort werden eben Dateien von den Programmen abgelegt. Z.B. das Benutzer-Profil von Firefox, oder die E-Mails von Thunderbird, oder die Spielstände von einem Spiel.
In deinem Code steht wahrscheinlich folgendes:
Dort schreibt du einfach:
Code: Alles auswählen
OpenFile(FileFandle,"%APPDATA%\name_von_deinem_programm\datei.txt")
Re: Probleme Windows Vista und Window 7
Verfasst: 19.12.2009 15:02
von ts-soft
TomS hat geschrieben:Code: Alles auswählen
OpenFile(FileFandle,"%APPDATA%\name_von_deinem_programm\datei.txt")
Das funktioniert? Kann ich mir nicht vorstellen, das der String expandiert wird, habs aber nicht getestet.
@Amiga
Du setzt den Pfad folgendermassen zusammen:
Code: Alles auswählen
Define.s MyOrganisation = "AmigaSoft"
Define.s ProgramName = "Mein tolles Programm"
Define.s FileToSave = "wichtig.txt"
Define.s Path
Path = GetEnvironmentVariable("APPDATA") + "\"
Debug Path
Path + MyOrganisation + "\"
Debug Path
Path + ProgramName + "\"
Debug Path
Path + FileToSave
Debug Path
Die ersten 3 Variablen sind natürlich anzupassen. An diesem Ort kannste dann problemlos Dateien erstellen, bearbeiten usw., auf allen Windows-Systemen, Userrechte genügen.
Das Deine Ursprüngliche Version unter W2K und XP funktionierte, lag nur an den Rechten, bei eingeschränkten Usern versagt es genauso wie unter Vista und 7. "Normale" Programme sollten also
immer in "APPDATA" oder "MYDOCUMENTS" speichern, alles andere ist schlichtweg falsch.
Gruß
Thomas
Re: Probleme Windows Vista und Window 7
Verfasst: 19.12.2009 15:03
von amiga123
TomS hat geschrieben:%APPDATA% ist eine Umgebungsvariable.
Unter XP ist das z.B. C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten\
Unter Vista glaube ich (nicht fressen, wenn's falsch ist) C:\Users\Benutzername\Anwendungsdaten\
Dort werden eben Dateien von den Programmen abgelegt. Z.B. das Benutzer-Profil von Firefox, oder die E-Mails von Thunderbird, oder die Spielstände von einem Spiel.
In deinem Code steht wahrscheinlich folgendes:
Dort schreibt du einfach:
Code: Alles auswählen
OpenFile(FileFandle,"%APPDATA%\name_von_deinem_programm\datei.txt")
Also das habe ich jetzt gerade Probiert.
Es kommt aber nicht der Ordner raus sondern wenn ich mir den Pfad anzeigen lassen kommt das raus.
Gruß Amiga
der Ordner C:\Dokumente und Einstellungen\Herbert\Anwendungsdaten\Sundisp bleibt leer
Re: Probleme Windows Vista und Window 7
Verfasst: 19.12.2009 15:06
von amiga123
ts-soft hat geschrieben:TomS hat geschrieben:Code: Alles auswählen
OpenFile(FileFandle,"%APPDATA%\name_von_deinem_programm\datei.txt")
Das funktioniert? Kann ich mir nicht vorstellen, das der String expandiert wird, habs aber nicht getestet.
@Amiga
Du setzt den Pfad folgendermassen zusammen:
Code: Alles auswählen
Define.s MyOrganisation = "AmigaSoft"
Define.s ProgramName = "Mein tolles Programm"
Define.s FileToSave = "wichtig.txt"
Define.s Path
Path = GetEnvironmentVariable("APPDATA") + "\"
Debug Path
Path + MyOrganisation + "\"
Debug Path
Path + ProgramName + "\"
Debug Path
Path + FileToSave
Debug Path
Die ersten 3 Variablen sind natürlich anzupassen. An diesem Ort kannste dann problemlos Dateien erstellen, bearbeiten usw., auf allen Windows-Systemen, Userrechte genügen.
Das Deine Ursprüngliche Version unter W2K und XP funktionierte, lag nur an den Rechten, bei eingeschränkten Usern versagt es genauso wie unter Vista und 7. "Normale" Programme sollten also
immer in "APPDATA" oder "MYDOCUMENTS" speichern, alles andere ist schlichtweg falsch.
Gruß
Thomas
Danke Thomas
Das ist genau das was ich suche. Dann werde ich mal mein Programm umschreiben damit es auf Vista und 7 läuft.
Gruß Amiga
Re: Probleme Windows Vista und Window 7
Verfasst: 19.12.2009 15:28
von TomS
ts-soft hat geschrieben:Das funktioniert? Kann ich mir nicht vorstellen, das der String expandiert wird, habs aber nicht getestet.
Hast Recht
Dachte, dass es unter Windows automatisch geht, wie im Explorer auch. Hab mich getäuscht...
Re: Probleme Windows Vista und Window 7
Verfasst: 20.12.2009 14:26
von Andesdaf
> Unter Vista glaube ich (nicht fressen, wenn's falsch ist) C:\Users\Benutzername\Anwendungsdaten\
C:\Users\Benutzername\AppData\
