2015-10-07 11 views
7

私は、ローカルのSQLiteデータベースを使用するWindows 10 Universal Appを作成しています。 アプリがデータベースファイルを使用するためにはそれは内に配置されている必要がありますデータベースファイルをアプリケーションにバンドルするにはどうすればいいですか?

C:\Users\<Username>\AppData\Local\Packages\<Name of Package>\Local State 

今私は、これは、アプリケーションの「ローカル」ファイル構造であることを理解。しかし、私は、アプリケーションと対話する必要があるため、インストール時にアプリケーションの一部としてバンドルする必要がある既製のデータベースを持っています。

サイドロードインストールでアプリケーションを配布する際にデータベースを使用する方法はありますか?

また、アプリケーションを携帯電話や他のWindows 10(デスクトップではない)デバイスにプッシュするとき、この 'C:\'ディレクトリが存在しないため、この問題は非常に重要です。

答えて

5

データベースを読み書き可能なデータ(ローカル状態)として直接パッケージ化することはできません。データベースから読み込む必要がある場合は、プロジェクトに含めるだけで、Package.Current.InstalledLocationから読み取ることができます。

データベースに書き込む必要があるが、アプリケーションに付属する初期値が含まれている場合は、プロジェクトにデータベースを含める必要がありますが、InstalledLocationからApplicationData.Current.LocalFolderにコピーしてくださいあなたのアプリが起動すると存在しません。

2

既存のデータベースをSQLスクリプトとしてエクスポートし、プロジェクト資産に保存することができます。 アプリケーションの最初の実行時に、LocalFolderでSqliteファイルを作成し、CREATEクエリとINSERTクエリを使用してスクリプトを実行できます。

+0

これは非常に有効なオプションです – Harvey

関連する問題