Я пытаюсь изменить раздел userSettings (Properties.MyApp.Default) в файле MyApp.exe.config во время установки приложения WPF с помощью установщика MSI.
Я в основном реализовал это как в этой превосходной статье: http://raquila.com/software/configure-app-config-application-settings-during-msi-install/
Разница в том, что я редактирую не appSettings, а раздел userSettings.
Проблема в том, что, хотя код работает нормально, настройки не сохраняются. После установки файл конфигурации содержит старые настройки, которые я использую в своей среде разработки.
Я также попытался переопределить OnAfterInstall (System.Collections.IDictionary stateSaver) вместо Install (System.Collections.IDictionary stateSaver), но это не имеет значения.
Вот код, который должен изменить значения конфигурации:
protected override void OnAfterInstall(IDictionary savedState)
{
base.OnAfterInstall(savedState);
string targetDirectory = Context.Parameters["targetdir"];
string tvdbAccountID = Context.Parameters["TVDBACCID"];
// read other config elements...
Properties.Settings.Default.Tvdb_AccountIdentifier = tvdbAccountID;
// set other config elements
Properties.Settings.Default.Save();
}
Есть идеи, как сохранить эти изменения? Я уже читал о Wix, но это кажется мне излишним.
Заранее спасибо!