部署时不保存设置

时间:2015-02-19 15:06:00

标签: c# winforms application-settings

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

0 个答案:

没有答案