我有一个简单的WPF应用程序,它使用ClickOnce来处理安装.在此应用程序中是一个紧凑的数据库 通过测试,我发现当我发布一个新版本时,这个数据库将被覆盖,这不是我想要的.无论如何,我可以对更新的文件进行细粒度控制吗?我假设ClickOnce只是检查数据库文件的哈希值,确定它已经更改并提取更新.
作为一种解决方法,我已经从已发布的应用程序中包含的文件中删除了数据库,因此原始文件在更新后保留在客户端计算机上,不受影响.
我知道这不是一个好的解决方案
谢谢,
ClickOnce部署将应用程序文件分隔为"包含"或"数据文件".您可以通过转到项目"属性"页面,"发布"选项卡,然后单击"应用程序文件..."按钮来指定Visual Studio中每个文件的内容.然后,您可以将".sdf"文件设置为"发布状态"列下的"数据文件".
然后,使用ClickOnce应用程序下载的数据文件将放置在每个新版本的单独目录中.
我们的想法是,在新应用程序版本的第一次运行中,您将从旧版本的数据文件中检索所有用户的私有数据,并将这些数据合并到刚刚使用新版本下载的新数据文件中.
我想您可以在ClickOnce应用程序中找到访问本地和远程数据所需的信息.具体来说,请查看"ClickOnce数据目录"和"数据目录和应用程序版本"部分.
要访问位于Data目录中的SQL Server CE数据库,请使用类似于以下内容的连接字符串:
<add
name="MyApplication.Properties.Settings.LocalCacheConnectionString"
connectionString="Data Source=|DataDirectory|\LocalCache.sdf"
providerName="Microsoft.SqlServerCe.Client.3.5" />
Run Code Online (Sandbox Code Playgroud)
"| DataDirectory |" 是SQL CE和SQL Express支持的特殊语法,并在运行时解析到正确的目录.
| 归档时间: |
|
| 查看次数: |
2077 次 |
| 最近记录: |