Gibt es einen Ordner in beide WinXP und WinVista auf das alle Benutzer Schreibrechte haben?

StackOverflow https://stackoverflow.com/questions/81686

  •  09-06-2019
  •  | 
  •  

Frage

Wir haben eine NET-Anwendung, die auf den Ordner Programme installiert wird. Die App selbst schreibt einige Dateien und erstellt einige Verzeichnisse auf seine App-Ordner. Aber wenn ein normaler Windows-Benutzer versucht, unsere Anwendung zu verwenden, es stürzt ab, weil der Benutzer nicht über die Berechtigung zum App-Ordner zu schreiben. Gibt es einen Ordner in beiden WinXP und WinVista, auf die alle Benutzer Schreibrechte standardmäßig? Alle Benutzerordner oder so etwas?

War es hilfreich?

Lösung

Es gibt keinen solchen Ordner.

Aber Sie können erstellen.

Es gibt CSIDL_COMMON_APPDATA das in Vista Karten% Programdata% (c: \ Programdata) und in XP Karten zu C: \ Dokumente und Einstellungen \ AllUsers \ Anwendungsdaten

Sie können ferner einen Ordner gibt es in Ihrem Installateur zu erstellen und die ACL so festgelegt, dass jeder in diesem Ordner schreiben kann.

Beachten Sie, dass COMMON_APPDATA in Version 5 der gemeinsamen Kontrollen Bibliothek implementiert wurde, was bedeutet, dass es in Windows 2000 und höher verfügbar ist. In NT4, können Sie diesen Ordner in Ihrem Installationsverzeichnis erstellen und in Windows 98 und darunter nicht sowieso egal wegen dieser Systemen nicht sowieso ein Berechtigungssystem.

Hier einige Beispiel-Code InnoSetup diesen Ordner zu erstellen:

[Dirs]
Name: {code:getDBPath}; Flags: uninsalwaysuninstall; Permissions: authusers-modify

[Code]


function getDBPath(Param: String): String;
var
   Version: TWindowsVersion;
begin
  Result := ExpandConstant('{app}\data');
  GetWindowsVersionEx(Version);
  if (Version.Major >= 5) then begin
    Result := ExpandConstant('{commonappdata}\myprog');
  end;
end;

Andere Tipps

Ich bin nicht sicher, dass es ein einziger Weg ist, auf das alle Benutzer ohne Administratorrechte der Berechtigung zu schreiben.

ich glaube, die richtige würde <User>\Application Data

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top