【问题标题】:Can I keep the application settings when updating with installshield?使用 installshield 更新时可以保留应用程序设置吗?
【发布时间】:2013-11-20 23:32:57
【问题描述】:

我终于设法通过 installshield LE 更新我的应用程序,而无需用户先手动卸载,我现在想知道的是:

  1. 我可以让安装程序使用之前安装的应用程序设置,这样用户保存的设置就不会改变,导致用户每次更新时都要输入他们的设置。但同时,将任何新设置添加到配置文件中。

  2. 有没有办法让安装程序不更新某些文件,例如,数据库文件保存在程序文件目录中名为“db”的文件夹中,我显然不希望用户数据库获取被一个空白覆盖。

谢谢。

【问题讨论】:

  • 有人对此有任何想法吗?

标签: installshield-le


【解决方案1】:

我不确定您使用的是哪种编程语言,但我对自己编写的 C# 应用程序有这个顾虑。我看到了两种简单的方法:

1) 使用 C#,您可以设置应用程序设置变量,这些变量会写入用户应用程序数据(在 WinXP 上)目录中的 XML 文件中。这样做的好处是,通过 API 读写设置文件非常简单:

保存和存储变量:

Properties.Settings.Default.UserName = UserName_txtbox.Text; // save contents of UserName_txtbox to UserName setting variable
Properties.Settings.Default.Save(); // write variable to file

要恢复变量:

UserName_txtbox.Text = Properties.Settings.Default.UserName; //load contents of UserName variable to UserName_txtbox

因为包含这些的文件不包含在应用程序的安装目录中,所以它们被保留了。

如果您使用不同的编程语言,您可以尝试实现相同的概念。

创建一个设置文件,您的程序可以从安装位置进行外部更新。 (也许它可以在安装位置。我不确定您的安装程序是如何“更新”的。它是替换文件还是卸载旧版本并自动安装新版本?播放这个来找出...)

您的设置文件可以是简单的 txt 文件、bin 文件、XML 文件等。您可以轻松读取和解析的任何内容。然后您可以在程序加载时从文件中加载设置,并在程序退出时将设置保存到文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-06
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 2010-12-17
    相关资源
    最近更新 更多