私の趣味のアプリケーションの 1 つは、SQLite バックエンドを使用してアプリケーション データを保存します。アプリケーションは、ユーザーが通常の [更新を確認] ボタンをクリックできるように設定されています。このボタンは、Web サービスにクエリを実行して、更新が利用可能かどうかを確認します。そうである場合、ユーザーは「更新」ボタンをクリックし、(HTTP 経由で) 新しいデータベースをダウンロードして、アプリケーションにインストールします。ダウンロードとインストールが完了するまで、ユーザーはアプリケーションで他の操作を実行できないため、このプロセスは現在「モーダル」です。
私はアプリケーションの更新に取り組んでいます。実現したいことの 1 つは、この更新プロセスを舞台裏で実行することです。これは、Windows Update のようです。アプリケーションが起動すると、サービスが照会され、更新が利用可能な場合は自動的にダウンロードされますが、バックグラウンドで実行されるため、ユーザーは作業を続けることができます。ダウンロードが完了すると、ユーザーは更新プログラムをインストールするように求められます。
私はBITSを広範囲に調べました。このテクノロジを活用する API はこれまで見たことがありませんが、いくつかのサンプル コードを見て、それを機能させることができると信じています。
しかし、これはデータライブラリの「バックグラウンド更新」にアプローチするのに最適な方法ですか、それとも他のソリューション/アプローチがありますか?