Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [C#] Permessi file negati

    Ho finito finalmente il mio programma, ho creato il file di installazione, ho installato ma non ha funzionato (il programma si apre ma mi da' errore). Ho fatto il debug e il problema è che quando il programma tenta di accedere al file di configurazione .ini presente nella cartella del programma, gli vengono negati i permessi (essendo nella cartella C:\Programmi) e il programma non funziona.

    Come posso fare per aggirare questo problema?

    Dimenbticavo: sono con windows vista

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    o lo esegui come amministratore o metti l'ini nella posizione che gli spetta.. quindi in current user

  3. #3
    Si lo so...come amministratore ho provato e il programma funziona...ma per chi non lo sa...

    Mi interessa questo consiglio di metterlo in un current user...ma dove precisamente? in che cartella? in Application Data?

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    in Application Data?

  5. #5
    mamma mia...ricordo che mi ero imbattuto nelle cartelle di sistema. Ora sto cercando fra i vari namespace per riferirmi alla cartella utente (dati applicazione) ma nono trovo ancora niente. Se ti ricordi puoi riferirmi tu lo spazio dei nomi?

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Application.LocalUserAppDataPath

    penso sia questo..

  7. #7
    O anche Environment.GetFolderPath(Environment.SpecialFolde r.LocalApplicationData).
    Meglio comunque in una sottocartella con il nome della tua applicazione.
    Se vuoi che le impostazioni siano accessibili dall'utente corrente su qualunque PC dell'eventuale dominio passa a GetFolderPath Environment.SpecialFolder.ApplicationData, oppure usa Application.UserAppDataPath.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    [b]
    Meglio comunque in una sottocartella con il nome della tua applicazione.
    Lo fa automaticamente, ma in una maniera non prevedibile

    Il mio progetto si chiama Prodigious, e la cartella app data corrisponde a

    C:\Users\Alberto\AppData\Local\Prodigious\Prodigio us\1.0.3477.35001


    dove questa serie di numeri finali cambia ad ogni avvio del programma. Avevo pensato di toglierla, ma non so se in altri computer il numero di caratteri cambia...praticamente potrei togliere dall stringa 14 caratteri in questo caso...ma sono sempre 14? Perchè poi cambia sempre cartella?

    EDIT: ahhh ok scusate...dall'msdn not che il percorso è questo:
    Percorso base\CompanyName\ProductName\ProductVersion

    devo quindi impostare la proprietà Application.ProductVersion perchè credo che il numero casuale derivi dal fatto che non ho impostato la versione del prodotto...


    Risolto grazie a tutti

  9. #9
    Ma quale tutto risolto!!!


    La cartella ora è fissa, ma i file non li crea!

    Con Visual Studio, sto creando il file di installazione e nell'editor del file system sto inserendo i file e le cartelle che servono all'applicazione su AppData (non dovrei sbagliare: sull'editor del setup è indicata come "Cartella dati applicazioni dell'utente"..


    la cartella la crea....ma non ci copia i files dentro!!! Cos'è che sbaglio?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.