У меня есть XML-файл вроде:
<CurrentProject>
// Elements like
// last opened project file to reopen it when app starts
// and more global project independend settings
</CurrentProject>
Теперь я спросил себя, должен ли я доставить этот xml-файл с указанными выше пустыми элементами вместе с программой установки для моего приложения, или я должен создать этот файл на лету при запуске приложения, если он не существует, иначе прочитайте значения из него.
Учтите также, что пользователь может удалить этот файл и что мое приложение больше не будет работать.
Что лучше и почему?
UPDATE :
То, что я сделал, было для меня нормально, поэтому я публикую здесь свой код :) Он просто создает структуру xml + на лету с некоторыми проверками безопасности ...
public ProjectService(IProjectDataProvider provider)
{
_provider = provider;
string applicationPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
_projectPath = Path.Combine(applicationPath,@"TBM\Settings.XML");
if (!File.Exists(_projectPath))
{
string dirPath = Path.Combine(applicationPath, @"TBM");
if (!Directory.Exists(dirPath))
Directory.CreateDirectory(dirPath);
using (var stream = File.Create(_projectPath))
{
XElement projectElement = new XElement("Project");
projectElement.Add(new XElement("DatabasePath"));
projectElement.Save(stream, SaveOptions.DisableFormatting);
}
}
}