Announcement

Collapse
No announcement yet.

Dateiberechtigungen unter Windows (Vista/7)

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dateiberechtigungen unter Windows (Vista/7)

    Hallo zusammen,

    wir verwenden QT für unsere Programme und ich habe erstmals eine Windows (und Linux)-Anwendung erstellt (gab früher nur Mac-Programme). Es gab zuerst keinerlei Probleme, aber mit der Zugriffskontrolle unter Windows kenne ich mich nicht wirklich aus, nicht wirklich verwendet (nur in C# wie man Berechtigungen anfordert/abfragt). Nun gab's Probleme mit unserem Programm bei Kunden mit Vindows Vista, die eingeschränkte Konten haben (manuell angepasst, sehr restriktiv). Selbst konnte ich unter Windows 7 das Problem mit einem normalen Benutzerkonto ohne Admin-Rechte nachvollziehen.
    Für den Installer verwende ich Z-Up Maker; da konnte ich die Zugriffsberechtigungen für das Programm selbst auf "Gruppe jeder" setzen damit das Programm in allen Konten erfolgreich installiert werden kann.
    Nun gibt es aber noch ein Problem:
    Die erstellten Dateien lassen sich nur als Administrator richtig verwenden. Ansonsten fehlt der Zugriff, meist lässt sich eine Datei auch nicht mehr löschen (unter Win 7 erscheint nur "Elemente werden gesucht..."!
    Ich versuchte folgendes um das Problem zu lösen in der Funktion, welche die Datei schreibt und auch welche eine neue erstellt:
    Code:
    QFile f(inFile); 
            
            f.setPermissions(QFile::WriteUser | QFile::WriteOther);
    in der Hoffnung alle, inkl. Admins können dann den vollen Zugriff auf die mit dem Programm erstellten Dateien haben.
    Allerdings funktioniert das leider genau so wenig.
    Was schafft da Abhilfe?
    Nun nach einigem Experimentieren weiss ich ein wenig mehr (und doch nicht). Die Dateien werden bei mir nicht gefunden da sie vom Explorer blockiert werden. Und zwar darum:
    Ich habe eine Shell-Extension geschrieben, welche Vorschau-Bildchen vom Inhalt der Dateien erzeugt. Als ich die DLL entfernte konnte ich die Dateien alle verwenden, in beiden Benutzerkonten.
    Allerdings etwas ist dennoch eigenartig mit den Dateifunktionen: Mit anderen Dateien (unter älterem Windows oder Mac OS erstellte) funktioniert die Vorschau einwandfrei, ebenso wenn eine Datei direkt auf ein FAT32-Laufwerk statt NTFS gespeichert wird. Also etwas muss doch mit den Berechtigungen nicht stimmen.
    Ich verwendete soeben Windows-Funktionen statt die QT-eigenen aber das half auch nicht. Ausserdem hat der betroffene Kunde gemeldet dass bei ihm das Deaktivieren der Shell-Extension nicht half. Er hat mehr Einschränkungen. ABER: Dateien des selben Typs von anderen Programmen funktionieren bei ihm, auch mit Shell Extension!! Hat sich meine Befürchtung also bestätigt dass es doch an den Dateien liegt.
    Dabei bin ich ganz ratlos.
    Hat da jemand eine Idee?

    Danke

  • #2
    http://www.c-plusplus.de/forum/279165

    geschlossen
    Christian

    Comment

    Working...
    X