我正在尝试使用MSI安装程序在安装WPF应用程序期间修改MyApp.exe.config文件中的userSettings部分(Properties.MyApp.Default)。
我基本上像在这篇优秀的文章中那样实现它: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的内容,但这对我来说似乎有些过分。
提前致谢!
答案 0 :(得分:0)
用户设置保存在当前用户的本地文件夹中,通常看起来像C:\ Users \ Username \ AppData \ Local \ Manufacturer \ ApplicationName \ Application.exe_StrongName \ VersionNumber \ user.settings请注意,位置随应用程序版本而变化。< / p>
exe.config的UserSettings部分包含新用户的默认值。
查看this question了解详情。