//constructor
public ConfigHandler()
{
FileIniDataParser Parser = new FileIniDataParser();
string configDir = String.Format(@"{0}\config", GetLocalDir());
string configPath = String.Format(@"{0}\config\launcherConfig.ini", GetLocalDir());
//release 0.0.
string defaultLauncherVersion = "0.0.3";
if (!Directory.Exists(configDir))
{
Directory.CreateDirectory(configDir);
}
if (!File.Exists(configPath))
{
//here we create a new empty file
FileStream configStream = File.Create(configPath);
configStream.Close();
//read the file as an INI file
try
{
IniData data = Parser.ReadFile(configPath);
data.Sections.AddSection("Local");
data.Sections.AddSection("Remote");
data.Sections.AddSection("Launchpad");
data["Local"].AddKey("launcherVersion", defaultLauncherVersion);
data["Local"].AddKey("gameName", "Example");
data["Local"].AddKey("systemTarget", "Win64");
data["Remote"].AddKey("FTPUsername", "anonymous");
data["Remote"].AddKey("FTPPassword", "anonymous");
data["Remote"].AddKey("FTPUrl", "ftp://example.example.com");
data["Launchpad"].AddKey("bOfficialUpdates", "true");
Parser.WriteFile(configPath, data);
}
catch (Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
}
else
{
IniData data = Parser.ReadFile(configPath);
data["Local"]["launcherVersion"] = defaultLauncherVersion;
Parser.WriteFile(configPath, data);
}
}