2010-01-24 1 views
0

Я установил конфигурационный файл ini «config.ini» для чтения и записи из моей программы на C#, дело в том, что если пользователь имеет UAC, то по каким-то странным причинам программа не делает 't читать или писать в файл, но ему удалось создать файл, но он не может читать или писать.Доступ к ini-файлу из документов для чтения

Как я могу заставить это работать.

этот файл сохраняется в DOCUMENTSFOLDER \ ProductName \ config.ini

Ini файл класса: http://www.sinvise.net/so/Ini.cs

фрагмент кода config.ini создания: http://www.sinvise.net/so/creation.txt

+0

Можете ли вы приложить какой-то код для нас SO'ers, чтобы узнать, что/как/почему/когда/где это происходит? – t0mm13b

+0

добавил два файла, обновленный в вопросе –

ответ

0

Быстрое предложение перед тем, как идти дальше, вы должны проверить nini, который является аккуратным обработчиком INI и заботится о чтении/записи файлов INI.

Пример использования кода, который читается из ini-файла.

 
using Nini; 
using Nini.Config; 

namespace niniDemo{ 
    public class niniDemoClass{ 
     public bool LoadIni(){ 
      string configFileName = "demo.ini"; 
      IniConfigSource configSource = new IniConfigSource(configFileName); 

      IConfig demoConfigSection = configSource.Configs["Demo"]; 
      string demoVal = demoConfigSection.Get("demoVal", string.Empty); 
     } 
    } 

} 

Попробуйте это и взять его оттуда ...

Надеется, что это помогает, С наилучшими пожеланиями, Том.

+0

Я переписываю свой проект на nini, надеюсь, он исправит мои проблемы. –

+0

Работал отлично! Большое спасибо, ты спас меня от головокружения! –

+0

@ Sandeep: Отличный материал! Рад помочь! :) – t0mm13b

0

Вы должны лучше удачи писать в путь: Environment.SpecialFolder.LocalApplicationData. У вашего приложения должно быть разрешение на запись в UAC вкл или выкл или даже на машинах, где приложение/пользователь имеет очень ограниченные разрешения.

+0

Я только что попробовал: string iniPath = Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData) + "\\ Product \\ config.ini"; И это не гонка, это не чтение данных. –

+0

Была ли программа успешно записана там файл (если я не был ясен, это не DOCUMENTSFOLDER, но лучше ли использовать папку для файлов INI)? –

+0

Да, это было сделано со всеми данными, но это не чтение из него, я использую Ini Class для получения значений из этого файла. В моих вопросах есть класс. Я уже использовал DOCUMENTSFOLDER и ранее общую папку данных приложений, но все равно не могу, я считаю, что это может быть что-то с классом Ini. –

Смежные вопросы