C'è una cartella in entrambi WinXP e WinVista a cui tutti gli utenti hanno iscritto le autorizzazioni?

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

  •  09-06-2019
  •  | 
  •  

Domanda

Abbiamo una rete di app che viene installato nella cartella programmi.L'app stessa scrive alcuni file e crea una serie di cartelle per la sua app per cartella.Ma quando un normale utente di windows tenta di utilizzare la nostra applicazione si blocca perché l'utente non dispone di autorizzazioni di scrittura per la cartella app.C'è qualche cartella in entrambi WinXP e WinVista a cui tutti gli utenti hanno iscritto le autorizzazioni di default?Tutte le cartelle Utente, o qualcosa di simile?

È stato utile?

Soluzione

Non c'è nessuna tale cartella.

Ma è possibile crearne uno.

C'è CSIDL_COMMON_APPDATA che in Vista delle mappe a %ProgramData% (c:\ProgramData) e in XP mappe c:\Documents and Settings\AllUsers\Dati Applicazioni

Sentitevi liberi di creare una cartella nel vostro programma di installazione e impostare le ACL in modo che ognuno può scrivere in quella cartella.

Tenete a mente che COMMON_APPDATA è stato implementato nella Versione 5 di la libreria di controlli comuni che significa che è disponibile in Windows 2000 e versioni successive.In NT4, è possibile creare la cartella nella directory di installazione in Windows 98 e sotto di essa, non importa comunque a causa di questi sistemi non avendo un sistema di autorizzazioni comunque.

Ecco alcuni esempi di InnoSetup codice per creare la cartella:

[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;

Altri suggerimenti

Io non sono sicuro che c'è un unico percorso che tutti gli utenti non amministratori hanno il permesso di scrivere.

Penso che quello corretto sarebbe <User>\Application Data

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top