我如何将我的数据库文件捆绑到我的应用程序中,为旁加载安装做好准备?
How can I bundle my database file into my app, ready for a side load install?
我正在创建一个 Windows 10 通用应用程序,它使用本地 SQLite 数据库。
为了让应用程序使用数据库文件它必须放在:
C:\Users\<Username>\AppData\Local\Packages\<Name of Package>\Local State
现在我明白这是应用程序的 'local' 文件结构。但是我有一个应用程序需要与之交互的预制数据库,因此应该在安装时作为应用程序的一部分进行捆绑。
在通过旁加载安装分发我的应用程序时,是否有一种方法可以以可用的方式包含我的数据库?
此外,这个问题非常重要,因为将我的应用程序推送到移动 phone 或其他 Windows 10(非桌面)设备时,这个 'C:\' 目录将不存在.
不能直接将数据库打包为读写数据(本地状态)。如果你只需要从数据库中读取,你可以将它包含在你的项目中并从 Package.Current.InstalledLocation
中读取。
如果您需要写入数据库,但它包含一些您想随应用一起发布的初始值,那么您仍然需要将数据库包含在您的项目中,然后从 InstalledLocation
到 ApplicationData.Current.LocalFolder
如果您的应用程序启动时它不存在。
您可以通过各种方式将现有数据库导出为 SQL 脚本并将其保存在您的项目资产中。
在应用程序的第一个 运行 中,您可以在 LocalFolder 中创建 Sqlite 文件,并 运行 使用 CREATE 和 INSERT 查询创建脚本。
我正在创建一个 Windows 10 通用应用程序,它使用本地 SQLite 数据库。 为了让应用程序使用数据库文件它必须放在:
C:\Users\<Username>\AppData\Local\Packages\<Name of Package>\Local State
现在我明白这是应用程序的 'local' 文件结构。但是我有一个应用程序需要与之交互的预制数据库,因此应该在安装时作为应用程序的一部分进行捆绑。
在通过旁加载安装分发我的应用程序时,是否有一种方法可以以可用的方式包含我的数据库?
此外,这个问题非常重要,因为将我的应用程序推送到移动 phone 或其他 Windows 10(非桌面)设备时,这个 'C:\' 目录将不存在.
不能直接将数据库打包为读写数据(本地状态)。如果你只需要从数据库中读取,你可以将它包含在你的项目中并从 Package.Current.InstalledLocation
中读取。
如果您需要写入数据库,但它包含一些您想随应用一起发布的初始值,那么您仍然需要将数据库包含在您的项目中,然后从 InstalledLocation
到 ApplicationData.Current.LocalFolder
如果您的应用程序启动时它不存在。
您可以通过各种方式将现有数据库导出为 SQL 脚本并将其保存在您的项目资产中。 在应用程序的第一个 运行 中,您可以在 LocalFolder 中创建 Sqlite 文件,并 运行 使用 CREATE 和 INSERT 查询创建脚本。