I use AppDomain.CurrentDomain.BaseDirectory to achieve the path to the exe file. Also there are some very nice XML helpers built into .net which you could use to build your settings file.
Code:
private void saveSettings()
{
XmlWriterSettings appearance = new XmlWriterSettings();
appearance.Indent = true;
XmlWriter xml = XmlWriter.Create(AppDomain.CurrentDomain.BaseDirectory + "Settings.xml", appearance);
xml.WriteStartDocument();
xml.WriteStartElement("Settings");
xml.WriteElementString("fps", m_fps.ToString());
xml.WriteElementString("pivSize", m_pivotSize.ToString());
xml.WriteElementString("rectLineWidth", m_rectLineWidth.ToString());
xml.WriteElementString("vertexLineWidth", m_vertexLineWidth.ToString());
xml.WriteElementString("vertexSize", m_vertexSize.ToString());
xml.WriteElementString("makeHeader", m_makeHeaderFile.ToString());
xml.WriteElementString("headerFilePath", m_headerFilePath);
xml.WriteEndElement();
xml.WriteEndDocument();
xml.Flush();
xml.Close();
}