gpt4 book ai didi

wpf - 当涉及紧凑型数据库时,ClickOnce 安装程序如何处理更新?

转载 作者:行者123 更新时间:2023-12-04 13:08:24 24 4
gpt4 key购买 nike

我有一个简单的 WPF 应用程序,它使用 ClickOnce 来处理安装。在这个应用程序中是一个紧凑的数据库。通过测试我发现当我发布一个新版本时,这个数据库会被覆盖,这不是我想要的。无论如何,我可以对更新的文件进行细粒度控制吗?我假设 ClickOnce 只是检查数据库文件的哈希,确定它已更改并拉取更新。

作为一种解决方法,我已经从已发布的应用程序中包含的文件中删除了数据库,以便在更新后原始文件保留在客户端计算机上,不受影响。

我知道这不是一个很好的解决方案

谢谢,

最佳答案

ClickOnce 部署将应用程序文件隔离为“包含”或“数据文件”。您可以通过转到项目属性页面,发布选项卡,然后单击“应用程序文件...”按钮来指定每个文件在 Visual Studio 中的内容。然后,您可以在“发布状态”列下将 .sdf 文件设置为“数据文件”。

使用 ClickOnce 应用程序下载的数据文件随后被放置在每个新版本的单独目录中。

这个想法是,在新应用程序版本的第一次运行时,您从他们的旧版本数据文件中检索所有用户的私有(private)数据,并将这些数据合并到刚刚与您的新版本一起下载的新数据文件中。

我想你会在 Accessing Local and Remote Data in ClickOnce Applications 找到你需要的信息。 .具体来说,请查看“ClickOnce 数据目录”和“数据目录和应用程序版本”部分。

要访问位于 Data 目录中的 SQL Server CE 数据库,请使用类似于以下内容的连接字符串:

<add
name="MyApplication.Properties.Settings.LocalCacheConnectionString"
connectionString="Data Source=|DataDirectory|\LocalCache.sdf"
providerName="Microsoft.SqlServerCe.Client.3.5" />

“|数据目录|”是 SQL CE 和 SQL Express 支持的特殊语法,并在运行时解析到正确的目录。

关于wpf - 当涉及紧凑型数据库时,ClickOnce 安装程序如何处理更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2261556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com