-2

我的应用程序将用户对应用程序设置的输入保存在 XML 文件中。现在假设我已经卸载了我的应用程序,但设置文件(xml 文件)仍然存在。它没有被删除。我想在下次安装时使用该设置文件。有没有办法在安装过程中询问用户,比如“你想使用现有设置吗?”。这样我就不需要在新安装后再次初始化设置。

4

2 回答 2

0

是的,您可以这样做,首先您必须确保在卸载应用程序时不会删除已创建的 XML 文件。默认情况下,当您卸载应用程序时,使用 MSI 部署的文件将在卸载时被删除。为防止这种情况发生,请转到该特定文件属性并设置PermanentTrue.

您必须将安装程序类添加到您的设置项目中。在 install 方法中检查 XML 文件是否存在。如果然后向用户显示确认消息。根据用户偏好保留旧的 xml 文件或添加新文件以再次保存新设置。

public override void Install(System.Collections.IDictionary stateSaver)
{
    //Invoke the base class method
    base.Install(stateSaver);

    if (File.Exists("XML File path"))
       {
           DialogResult result = MessageBox.Show("Do you want to use existing setting?","",MessageBoxButtons.YesNo);

        if (result.Equals(DialogResult.Yes))
           {

           }
        else
           {

           }
       }
}
于 2013-10-21T08:56:15.263 回答
0

最简单的解决方案是不要让这成为安装程序问题。使 settings.xml 成为安装程序中未包含的文件。在第一次运行应用程序时询问设置并设置 XML。现在,当安装程序卸载时,它会自动将其留在后面。如果他们重新安装,您的应用仍会找到 settings.xml。

您还可以让安装程序使用安装的日期时间填充注册表值,并让应用程序将其放入 settings.xml。如果当前注册表值和 xml 值是不同的时间戳,则您知道有重新安装,您可以选择询问“您要保留吗?” 问你是否愿意。

现在安装程序是一个简单的文件复制包,没有可能失败的不必要的自定义操作。

于 2013-10-21T11:40:19.047 回答