我的应用程序在XML文件中保留用户对应用程序设置的输入。现在假设我已经卸载了我的应用程序,但设置文件(xml文件)仍然存在。它尚未被删除。我想在下次安装时使用该设置文件。有没有办法在安装过程中询问用户如“你想使用现有设置吗?”。因此,我不需要在新安装后再次初始化设置。
答案 0 :(得分:0)
是的,您可以这样做,首先,您必须确保在卸载应用程序时不会删除已创建的XML文件。默认情况下,当您卸载部署了MSI的应用程序文件时,将在卸载时将其删除。要防止出现这种情况,请转到该特定文件属性,并将Permanent
设置为True
。
您必须将安装程序类添加到设置项目中。在安装方法中检查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
{
}
}
}
答案 1 :(得分:0)
最简单的解决方案是不要使这成为安装程序问题。使settings.xml成为安装程序中未包含的文件。首次运行应用程序时,请求设置并设置XML。现在,当安装程序卸载它时,它会自动将其留下。如果他们重新安装,您的应用仍会找到settings.xml。
您还可以让安装程序使用安装的日期时间填充注册表值,并将应用程序放在settings.xml中。如果当前注册表值和xml值是不同的时间戳,您知道有重新安装,您可以选择询问“你想保留吗?”如果你愿意的话。
现在,安装程序是一个简单的文件复制包,没有可能失败的不必要的自定义操作。