Come si modificano le autorizzazioni dei file per impedire a Vista di scrivere su un file nella directory di Virtual Store?

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

Domanda

Quando il mio programma viene installato per la prima volta, inserisce un file nella directory AppData dell'utente & # 8217; e quindi il programma scriverà periodicamente su quel file. Il problema è in Vista che le scritture non vengono fatte sul file nella directory AppData dell'utente & # 8217; vengono fatte su una copia di quel file nella & # 8220; VirtualStore / ProgramData & # 8221; directory. Il file originale nella directory AppData dell'utente & # 8217; s non viene mai modificato, sembra che quando il programma viene eseguito abbia accesso solo al file all'interno della directory di VirtualStore.

Esiste un modo dall'interno di un'app C # per modificare le autorizzazioni su quel file in modo che il mio programma scriva su quello originale nella directory AppData e non su quello nella directory VirtualStore?

Grazie,

Jeff

È stato utile?

Soluzione

La documentazione di Controllo dell'account utente all'indirizzo http://msdn.microsoft.com/en -us / library / bb756973.aspx dovrebbe aiutarti a risolverlo.

Mi sembra che sia necessario aggiungere un manifest dell'applicazione.

Quando l'applicazione include un manifest dell'applicazione con un " richiestoExecutionLevel " valore specificato, la virtualizzazione di Vista del registro e del file system verrà disattivata.

Dai un'occhiata a http://msdn.microsoft.com/en -us / library / bb756929.aspx per i dettagli.

Se non hai precedentemente testato la tua applicazione in condizioni non amministrative, potresti scoprire che devi apportare alcune modifiche al codice dopo aver disattivato la virtualizzazione di Vista.

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