这是一个奇怪的问题,当我从Visual Studio运行应用程序并更改设置时,设置会更改并存储在配置文件中。
如果我将文件复制到公共场所并执行相同操作,设置也会更改,存储和下次加载时会显示新值。
但是,当软件部署到用户计算机上时(使用InnoSetup),设置不会保存,因此重新加载软件时会加载默认值。
我在这里缺少什么吗?该文件位于安装目录(Program Files x86)中,不是只读的。
范围是用户,甚至以管理员身份运行软件也不保存更改
private void btnSave_Click(object sender, EventArgs e)
{
Properties.Settings.Default.ShowActiveSupportForm = (cboxActiveSupportSplash.Items[cboxActiveSupportSplash.SelectedIndex].ToString() == "Yes");
Properties.Settings.Default.ActiveSupportSplashColour = SplashColor.R + "," + SplashColor.G + "," + SplashColor.B;
Properties.Settings.Default.Save();
if (Application.OpenForms["frmActiveSplash"] != null)
{
frmActiveSplash frm = (frmActiveSplash) Application.OpenForms["frmActiveSplash"];
ColorConverter colorConverter = new ColorConverter();
Color color = (Color)colorConverter.ConvertFromString(SplashColor.ToArgb().ToString());
color = Color.FromArgb(255, color.R, color.G, color.B);
frm.BackColor = color;
}
MessageBox.Show("Changes have been saved", "Changes Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
Properties.Settings.Default.Reload();
Close();
}