この質問に対する可能な答えをグーグルとSOで検索しましたが、その場所に散らばっている小さな情報しか見つけることができず、そのほとんどは個人的な意見のようです.
この質問が主観的であると考えられることは承知していますが、私は個人的な意見を求めているのではなく、理由のある事実 (過去の経験など) や、ベスト プラクティスを説明しているブログ/ウィキへの単一のリンク (これは私が正直に言いたいこと)。私が探していないのは、これを機能させる方法です。自己更新デスクトップアプリケーションを作成する方法を知っています。
自己更新デスクトップ アプリケーションを作成するためのベスト プラクティスについて知りたいです。私が特に興味を持っているベスト プラクティスの種類は次のとおりです。
- クライアント ソフトウェアが古くなっているが、他のバージョンのソフトウェアまたはデータベース自体と通信しようとしても壊れない場合、更新を強制しますか? もしそうなら、この重大な変更をどのように意味しますか?
- どのくらいの頻度で更新を確認する必要がありますか? 毎週/毎日/毎時、正確にはその理由は?
- UI の観点から、更新をユーザーに表示するか、バックグラウンドで実行する必要がありますか?
- メジャー アップデートでない場合、利用可能なアップデートがあることをユーザーに通知する必要がありますか? (たとえば、実際には 1 人のユーザーのみが必要とするアプリケーションのリモート部分にある 1 つのボタンを修正する)
- アプリケーションにパッチを当てる必要がありますか、それともアプリケーション全体を最初から Macintosh スタイルから再ダウンロードしますか?
- ユーザーが中央の場所から更新できるようにするか、指定したアプリケーションを介した更新のみを許可する必要がありますか? (クローズド ビジネス アプリケーションの場合)。
確かに、このことについていくつかの書かれた規則/提案がありますか? 多くのアプリケーションで最も厄介なことの 1 つは更新です。これは、「時代遅れ」と「ユーザーが直面している」ことの間の適切なバランスを見つけるのが難しいためです。
これが単一のクライアント用に .net C# で記述され、更新サーバーへの常時接続が可能なマシンで実行されていると考えるのに役立つ場合、これらのマシンはすべてアプリケーションを介して相互に通信し、すべてが中央データベース サーバーとも通信します。 .