Discussione chiusa
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Non posso creare un file

  1. #1
    L'avatar di Gandalfrank
    Gandalfrank non è in linea Scribacchino
    Luogo
    Pisa
    Post
    1,210

    Non posso creare un file

    codice:
    My.Computer.FileSystem.WriteAllText("c:\myfile.txt", "testo da scrivere", True)
    Se tento di usare il codice sopra indicato ottengo il seguente messaggi di errore:

    "IOException non è stata gestita.
    Il privilegio richiesto non appartiene al client."


    Uso VB 2010 EE su Windows 7

    Sembra quasi che il compilatore non mi riconosca come amministratore...

    Avete un'idea del perché?

  2. #2
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Luogo
    Prato
    Post
    2,702
    Ho provato il tuo codice ed è andato bene.io uso visual studio 2008 ed ho windows 7 ultimate.
    Ha creato il file senza problema.
    Posta lo spezzone di codice,può darsi che l'inghippo è nel codice.
    Sono stato nella terra del terrore e dei Vampiri...la transilvania? No!..in Banca.
    A Lupara?Min***a...Tecnologia Sicula è!

  3. #3
    L'avatar di Gandalfrank
    Gandalfrank non è in linea Scribacchino
    Luogo
    Pisa
    Post
    1,210
    Non dipende dal codice del programma ma, come ho già avuto modo di verificare, dalle impostazioni dell'UAC (impostazioni di controllo dell'account utente)

    Anche le seguenti poche righe mi generano lo stesso messaggio di errore:
    codice:
    Public Class Form1
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            My.Computer.FileSystem.WriteAllText("c:\myfile.txt", "Testo da scrivere", False)
        End Sub
    
    End Class
    ma sarei interessato a sapere se esiste un modo per risolvere il problema senza modificare i settaggi dell'UAC.

  4. #4
    L'avatar di elisab
    elisab non è in linea Very Important Person
    Post
    1,750
    Ciao
    lo chiedeva recentemente un utente ma non ha avuto risposta. Ho fatto un giro (cercando vb.net uac run administrator) e ho trovato questo:

    Making a .NET app run on Vista with Administrator priviledges

    How to run your C# Application as Administrator in Windows Vista?

    Windows Vista - Demand UAC elevation for an application by adding a manifest using mt.exe
    Il Crossposting è vietato dalla Netiquette.

    Tutti gli utenti sono invitatati ad indicare nel titolo la versione di VB, Visual Studio o il Framework di compilazione.

    NB: In presenza del SyntaxHighlighter (codice colorato con numeri di riga a lato) prima di copiare il codice eseguire doppio click sulla finestra di codice, altrimenti mancheranno tutti i ritorno a capo.

  5. #5
    L'avatar di Gandalfrank
    Gandalfrank non è in linea Scribacchino
    Luogo
    Pisa
    Post
    1,210
    @Elisab Grazie.

    Il problema mi sembra piuttosto strano.

    Credo che la soluzione che mi ha suggerito Elisab, sia soltanto un escamotage per risolvere la questione.

    Mi spiego meglio: ho installato windows Seven lo scorso Dicembre (prima ero su XP), e non ho effettuato NESSUNA variazione di impostazioni al momento dell'installazione.
    Se fosse semplicemente un problema di UAC , ogni utente che come il sottoscritto usa VB 2010 EE su Seven DOVREBBE (il condizionale è d'obbligo) avere riscontrato il mio stesso problema, e i forum sarebbero pieni di messaggi come il mio.

    Penso sia piuttosto insolito che Microsoft abbia introdotto questo bug su VB 2010 EE se usato con W7. A mio avviso ciò può verificarsi se sono soddisfatte alcune condizioni a livello di compilatore, che inavvertitamente ho reso possibili.

    La questione è capire cosa sia accaduto.
    Ultima modifica di Gandalfrank; 09-04-2011 07:18 

  6. #6
    L'avatar di bumm
    bumm non è in linea Very Important Person Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Luogo
    Bologna
    Post
    2,142
    Blogs
    1
    Se fosse semplicemente un problema di UAC , ogni utente che come il sottoscritto usa VB 2010 EE su Seven DOVREBBE (il condizionale è d'obbligo) avere riscontrato il mio stesso problema, e i forum sarebbero pieni di messaggi come il mio.
    ed e cosi:

    windows 7 write file in root of c: - Cerca con Google

    mi sa che scrivere in root del C: non e una buona idea.

    Penso sia piuttosto insolito che Microsoft abbia introdotto questo bug su VB 2010 EE se usato con W7. A mio avviso ciò può verificarsi se sono soddisfatte alcune condizioni a livello di compilatore, che inavvertitamente ho reso possibili.
    Direi che non è un bug, ma e un patch per un bug precedente. nessun sistema operativo oltre windows permette di scrivere in root senza diritti particolari. Perché devi scrivere direttamente nel root del c: ?
    Ultima modifica di bumm; 09-04-2011 07:59 
    "HeloWorld.exe" 17 errors, 31 warnings.

    Non mi mandate le richieste di aiuto via PM! Non vi risponderò! Tutte le domande fateli sul forum!

  7. #7
    L'avatar di Gandalfrank
    Gandalfrank non è in linea Scribacchino
    Luogo
    Pisa
    Post
    1,210
    Fino ad oggi, con XP, sono sempre stato in grado di scrivere file su C:

    Ho bisogno di scrivere un file di testo e di salvarlo su HD e non sono sicuro che il pc di destinazione del mio software abbia più di una partizione/disco rigido, quindi ho pensato di salvare il file direttamente sul disco principale.

    Se esistono soluzioni alternative, sono bene accolte.

  8. #8
    Post
    2,257
    Blogs
    6
    Se hai bisogno di condividere dei dati a livello di Applicazione (quindi per tutti gli Utenti), dovresti orientarti sulla cartella ProgramData

    La costante per recuperare tale Directory è CommonApplicationData (Enumerazione Environment.SpecialFolder (System))

    Se ti interessa recuperare tale percorso anche in fase di Setup, dai un'occhiata a questa discussione: File soggetti a modifiche
    NB: Per copiare il codice inserito con il SyntaxHighlighter (codice colorato con numeri di riga a fianco), prima si deve eseguire un DoppioClick sul codice e successivamente copiarne il contenuto, altrimenti si avranno problemi di Formattazione
    ___
    VB.Net: {Extension Methods} {Lambda Expressions} {BinaryFormatter} {GetExternalIp} {CustomBinding}
    HowTo: {Windows 7 - Installare il Sistema su C e la cartella Users su D}{Windows 7 - Spostare la cartella Users su altra Partizione}
    Blog: {Fix's Blog}

  9. #9
    L'avatar di Gandalfrank
    Gandalfrank non è in linea Scribacchino
    Luogo
    Pisa
    Post
    1,210
    Buongiorno Fix.

    E' esattamente ciò che ho fatto.

    In tutta franchezza avevo posto la stessa domanda in altra comunità e mi avevano indicato di utilizzare le Environment.SpecialFolder o di avviare VB net come amministratore.

    Ho scelto di provare il primo suggerimento e ho risolto.

    Grazie a tutti.

  10. #10
    Luogo
    Padova
    Post
    4,379
    Blogs
    36
    Devi sapere che per seven anche se sei loggato come amministratore sei un normale utente, alcune cartelle ti sono comunque precluse, infatti ad esempio non puoi scrivere su "programmi".
    Per risolvere il problema alla radice puoi benissimo stabilire una cartella es: c:\myfolder e scrivere tutto lì senza problemi di sorta ovviamente dopo aver dato a everyone il permesso in lettura / scrittura se anche altri ci devono accedere.
    ----------------------------------------------------------
    Se avete delle domande fatele prima al forum
    Il mio blog su Masterdrive.it
    Il mio blog su Visual-Basic.it

Discussione chiusa
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi