Это очень старый вопрос, но, поскольку я не согласен с принятым ответом, по крайней мере, если файл XML будет обновлен программой, я все равно опубликую это.
Что я делаю при установке программы в стиле сервера (служба Windows или другая, не относящаяся к пользователю) программа, так это установка файла настроек XML по умолчанию или шаблона в Program Files вместе с программой. Но я никогда не пытаюсь записать в этот файл - обычно это не разрешено.
Вместо этого, во время инициализации программы я проверяю, был ли файл ранее скопирован в подпапку, которую я создаю в C: \ ProgramData, то есть, "C: \ ProgramData \ myCompanyName \ myProgramName \ mySettingsFile.xml". (Найдите C: \ ProgramData, используя Environment.SpecialFolder.CommonApplicationData - см. Здесь: http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx). Если файл настроек XML уже существует, я просто открываю его и использую - он доступен для записи. Если он не существует, тогда я создаю подпапки, если необходимо, и скопируйте файл настроек XML-шаблона из Program Files - это должна быть разовая операция, которая выполняется только при первом запуске программы после установки.
Подробнее см. Здесь: Как разработчику, как мне использовать специальные папки в Windows Vista (и Windows 7)?