Я пытаюсь изменить раздел UserSettings (Properties.MyApp.Default) в файле MyApp.exe.config во время установки моего приложения WPF с помощью установщика MSI.Изменение настроек пользователя во время установки 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();
}
Любая идея, как сохранить эти изменения? Я уже читал о Виксе, но для меня это кажется излишним.
Заранее благодарен!
Когда пользовательские настройки сохраняются во время установки MSI, они сохраняются в C: \ Users \ Username \ AppData \ Local \ Microsoft_Corporation \ SomeHash \ Version (версия MSI?) \ User.config. –