这是一个奇怪的问题,当我从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();
}