Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [C#]Permessi per leggere cartelle
Forum - C# / VB.NET - [C#]Permessi per leggere cartelle

Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 10:12
Martedì, 19/07/2011
Ciao a tutti,
sto facendo un programma che data una cartella la scandisce ricorsivamente in modo da stampare tutte le sotto-cartelle.

Funziona benissimo ma c'è un problema: se do in pasto al mio programma la directory C:\Programmi mi da il seguente errore:
Codice sorgente - presumibilmente VB.NET

  1. System.UnauthorizedAccessException: Accesso al percorso 'C:\Programmi' negato.
  2.   in System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  3.   in System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
  4.   in System.IO.DirectoryInfo.GetFiles(String searchPattern, SearchOption searchOption)
  5.   in Scansione.Program.Main(String[] args) in C:\EsploraRisorseSrc\Scansione\Scansione\Program.cs:riga 101



Dall'errore è chiaro che non ho i permessi per leggere in quella cartella.
Come posso avere questi permessi?

p.s. Ho aggiunto al codice questo codice ma non fa nulla:
Codice sorgente - presumibilmente C# / VB.NET

  1. [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]


PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
2
Down
V
Segnala al moderatore
Postato alle 10:29
Martedì, 19/07/2011
Se tutti i programmi potessero arrogarsi da soli ogni permesso, sarebbe un bel problema, non trovi?
Avvia il programma come amministratore.

P.S.: quel codice dovrebbe teoricamente richiedere un'autorizzazione senza restrizioni al chiamante del codice...

PM
Avatar
Nullable (Normal User)
Expert


Messaggi: 217
Iscritto: 12/07/2011

Up
1
Down
V
Segnala al moderatore
Postato alle 14:29
Martedì, 19/07/2011
Il problema non risiede nel codice ma nell'utente che lo utilizza. L'accesso a quella cartella è - di default - riservato agli amministratori e se tu non sei amministratore allora non puoi avviare il programma, quindi come ha detto Totem devi aprirlo come amministratore.

NB: Se il software devi darlo a qualcuno per testarlo potresti verificare che l'utente che lo sta eseguendo è amministratore o no, se lo è allora il programma si avvia senza nessun errore ma in caso contrario puoi segnalare all'utente di aprire il programma come amministratore.

Ultima modifica effettuata da Nullable il 19/07/2011 alle 14:30
PM