Domanda

Ho un'applicazione in C # che scrivo alcuni dati in un file. Sto affrontando il problema su Windows 7 Professional che quando scrivo i dati a C:\ProgramData, Accesso negato accezione è gettato. Se faccio il login da un amministratore di account questo problema svanisce, e se faccio il login da un altro conto che hanno previlages amministrative questo problema viene in su. Questo problema si produce solo su Windows 7 Professional, si sta lavorando bene su tutte le altre versioni di Windows 7 e Windows Vista.

try
{
XmlTextWriter myXmlTextWriter = new XmlTextWriter("Configuration.xml", null);
            myXmlTextWriter.Formatting = Formatting.Indented;
            myXmlTextWriter.WriteStartDocument(true);
            myXmlTextWriter.WriteDocType("ApplicationConfigurations", null, null, null);
            ////myXmlTextWriter.WriteComment("This file represents another fragment of a book store inventory database");
            myXmlTextWriter.WriteStartElement("Configuration");
            myXmlTextWriter.WriteElementString("firstElement",  pe.ToString());
            myXmlTextWriter.WriteEndElement();

            myXmlTextWriter.WriteEndDocument();
            myXmlTextWriter.Flush();
            myXmlTextWriter.Close();
}catch(Exception e)
{
    //Exception is thrown in Win7 professional
}
È stato utile?

Soluzione

Questo è normale, gli account utente non-admin fare non avere accesso in scrittura a C: \ ProgramData. Solo leggere, eseguire e Lista privilegi vengono assegnati per impostazione predefinita. Questo include gli account di amministratore con UAC abilitato.

La cartella AppData dovrebbe essere utilizzato per i file di scrittura. Prendi il percorso di tale cartella con Environment.GetFolderPath ().

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