Scrittura file

di il
9 risposte

Scrittura file

Buongiorno,premetto che non sono un professionista ma solo un hobbista .
Osservate questo codice:
Imports System.IO

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim pr As String
pr = "c:\miofile.dat"
File.Create(pr)
End Sub
Con esplora risorse verifico se il file sia stato creato.Tutto ok.
Se sostituisco la stringa pr in "c:\windows\system32\miofile.dat"non riesco a trovare miofile.dat nella
directory system32.
E' come se fosse diventato invisibile.
C'è una spiegazione?Grazie.

9 Risposte

  • Re: Scrittura file

    Ciao,
    la tua app ha i permessi di scrittura in quella directory?
    Lucius
  • Re: Scrittura file

    curioso ha scritto:


    Se sostituisco la stringa pr in "c:\windows\system32\miofile.dat"non riesco a trovare miofile.dat nella
    directory system32.
    E' come se fosse diventato invisibile.
    Non hai probabilmente i permessi di scrittura in quella directory, e non vedo motivo per cui dovresti averli.

    L'operazione tuttavia va a buon fine probabilmente per effetto della virtualizzazione del controllo account utente.

    Ciao!
  • Re: Scrittura file

    Non so se ho i permessi ,però il file viene scritto ma non si vede nella directory.(mi riferisco a win 10,nel win7 si vede)
    Che venga scritto l'ho verificato con un'altra app.
  • Re: Scrittura file

    Leggi qui http://www.vbforums.com/showthread.php?660857-RESOLVED-windows-system32-writes-to-windows-syswow64
  • Re: Scrittura file

    curioso ha scritto:


    Non so se ho i permessi
    In generale, è proibito scrivere al di fuori della directory predisposta per l'utente (sotto "C:\Users").

    curioso ha scritto:


    però il file viene scritto ma non si vede nella directory.(mi riferisco a win 10,nel win7 si vede)
    Sì, il file viene scritto, ma finisce in un'altra directory che "simula" quella locazione, ma si trova in un percorso che però è accessibile all'utente, e serve per retrocompatibilità verso quelle applicazioni non compatibili con l'UAC (ormai dovrebbero essere poche) che così possono leggere e scrivere da percorsi generalmente non più ammessi.

    curioso ha scritto:


    Che venga scritto l'ho verificato con un'altra app.
    Se leggi dallo stesso percorso con un'altra app, Windows ti ridirezionerà sempre nel "percorso virtuale" corrispondente e accessibile per l'utente.

    Questo processo si chiama "virtualizzazione" e lo trovi descritto nell'articolo che ti ho segnalato (ma che non hai evidemente letto) e cercando in rete per ulteriori approfondimenti.

    Ciao!
  • Re: Scrittura file

    patel ha scritto:


    Leggi qui http://www.vbforums.com/showthread.php?660857-RESOLVED-windows-system32-writes-to-windows-syswow64
    Alka, hai visto il link ? con quel codice si può scrivere nella cartella system32, aspettavo un tuo commento.
  • Re: Scrittura file

    patel ha scritto:


    Alka, hai visto il link ? con quel codice si può scrivere nella cartella system32, aspettavo un tuo commento.
    Non è che non si possa MAI scrivere nella cartella "System32": i casi ci sono.

    Per le applicazioni tradizionali, a meno che non parliamo di un tool di installazione o di uno strumento per la manutenzione del sistema, non dovrebbe esistere il bisogno di scrivere in quelle directory, così come in altre che non siano la cartella dell'utente (es. "C:\Programmi\").

    La virtualizzazione viene in aiuto alle applicazioni vecchie che non rispettano questi principi offrendo loro un'alternativa per poter continuare a funzionare "immaginando" di scrivere in quei percorsi ma di fatto simulando questa operazione.

    E' chiaro che se invochiamo le API corrette per elevare i privilegi, oppure eseguiamo l'applicazione con i privilegi di amministratore via UAC, l'applicazione potenzialmente può scrivere dove vuole, anche nella cartella di sistema effettiva o in quella dei programmi, e la virtualizzazione in quel caso è spenta.

    Mi sfugge però perché si dovrebbe andare a scrivere in quei percorsi in linea generale.
  • Re: Scrittura file

    Ringrazio tutti coloro che hanno speso un pò del loro tempo per rispondere.
    Nella mia posizione di hobbista i vostri interventi sono stati molto utili e chiarificatori.
    Un saluto a tutti.
  • Re: Scrittura file

    curioso ha scritto:


    Ringrazio tutti coloro che hanno speso un pò del loro tempo per rispondere.
    Nella mia posizione di hobbista i vostri interventi sono stati molto utili e chiarificatori.
    Però ci devi togliere la curiosità sul motivo per cui vuoi scrivere in System32...
Devi accedere o registrarti per scrivere nel forum
9 risposte