Хорошо. Я знаю, что это старый вопрос, но, на мой взгляд, его решение недостаточно ясное. У меня была такая же проблема, и вам не нужно помещать app.config (your.exe.config) в системную папку. Если вы хотите, чтобы ваша программа была переносимой и без MSI, вы можете просто вставить несколько строк в форму.
APP_PATH = Application.ExecutablePath.ToString();
Environment.CurrentDirectory = Path.GetDirectoryName(APP_PATH);
Сделайте это рано в классе, и это сработает.