我正在构建一个将使用某些设置和本地SQL Server的应用程序。我的问题是,到了更新应用程序的时候;是否会覆盖设置或数据?
如果我想在将来更改某些表格会怎样?
答案 0 :(得分:3)
我认为将数据存储在用户配置文件下的另一个文件夹中更有意义,而且更安全。然后,您可以选择何时更新数据库。 This article将显示如何移动您的数据,以便从ClickOnce更新中获得安全保障。
此外,当您想要对数据库进行更改时,可以使用SQL语句来执行此操作,例如“ALTER TABLE”等。我已经创建了一个脚本并将其部署为一个长字符串(其中包含回车符)并让应用程序通过回车将资源拆分并逐个执行语句。你得到了一般的想法。
关于用户设置的一条评论 - 您可以通过UI以编程方式更改这些设置(即为用户提供功能)。但请注意,如果您更改应用程序的证书并运行足够高版本的.NET(3.5,4),它本身不会导致问题,但它与ClickOnce应用程序具有不同的身份,并且在发布下一个更新时不会转发用户设置。出于这个原因,我还为配置数据推出了自己的XML文件,并将其存储在LocalApplicationData中。
答案 1 :(得分:0)
通过ClickOnce更新期间不会覆盖用户级设置,但您可以推送新的应用程序级设置,因为在更新期间将覆盖[YourExeName].exe.config
文件 。 / p>
如果您需要覆盖用户级设置,则必须以编程方式执行此操作。