Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用MSI更新SQLite数据库?_Sqlite_Windows Installer_Patch - Fatal编程技术网

用MSI更新SQLite数据库?

用MSI更新SQLite数据库?,sqlite,windows-installer,patch,Sqlite,Windows Installer,Patch,我们的产品有三个主要部件 1) 客户端应用程序 2) 网络服务器 3) 数据集,主要包含(从客户的角度来看是只读的)存储在SQLite DB内BLOB字段中的文档 客户机应用程序可以访问直接存储在该机器上的数据集(许多用户在非联网笔记本电脑上)或通过网络服务器访问数据集 数据需要不时更新-整个数据集可能有几GB,因此对于更新,我们只希望发送新的或已修订的文档。从某种意义上说是一块补丁。我们的客户倾向于将MSI纳入他们自己的分销战略。有些人坚持不接受任何其他东西 通过MSI更新SQLite数据库的

我们的产品有三个主要部件

1) 客户端应用程序 2) 网络服务器 3) 数据集,主要包含(从客户的角度来看是只读的)存储在SQLite DB内BLOB字段中的文档

客户机应用程序可以访问直接存储在该机器上的数据集(许多用户在非联网笔记本电脑上)或通过网络服务器访问数据集

数据需要不时更新-整个数据集可能有几GB,因此对于更新,我们只希望发送新的或已修订的文档。从某种意义上说是一块补丁。我们的客户倾向于将MSI纳入他们自己的分销战略。有些人坚持不接受任何其他东西

通过MSI更新SQLite数据库的可行性如何(不完全覆盖数据库文件)

我有两种策略,但都有缺点

1) MSI将一些文件安装到客户机(工作站或服务器)上,当客户机或服务器软件检测到它们时,它会运行某种DB合并

2) MSI访问自定义DLL中的函数(我不是MSI专家,所以我甚至不知道这是否可行)以将新内容合并到DB中。我怀疑定制DLL真的打破了MSI的可重新打包性

这与我的专业知识相去甚远,所以有人能提出可能的解决方案吗

谢谢你的时间