答えて
一般的に、アプリケーションは起動時に更新が利用可能であることに気付いた後、更新するかどうかをユーザーに確認します。次に、更新プロセスを開始して終了します。更新プロセスによってファイルが置き換えられ、新しいバージョンが起動されます。あなたが再起動することなく、アプリケーションの一部作品を更新して逃げることができるかもしれ一部例で
- しかし、追加複雑さが重要であり、かつ率直に言って、それは良いでしょうIMO、例99%にしようとしません。もちろん
、あなたが書いているアプリの種類を言っていない - あなたはより多くの情報を与えることができれば、役立つだろうという。
アプリケーションは、一般的にアプリケーションを更新すると、その新しいバージョンで実行可能ファイル(.exeファイル、の.dllなど)を置き換える意味するので、それを更新する前にクローズする必要があり、これは、アプリケーションを終了せずに行うことはできません。
Jon said の場合は、アプリケーションを閉じることなくアップグレードすることができます。しかし、これは推奨されません。これは、アップデータで障害が発生し、アップデート全体がロールバックする可能性があるためです。
アップデータまず、アップデートをダウンロードし、その後、メインのアプリケーションを閉じて、それらを適用すると、メインアプリケーションを起動して終了します別の実行可能(この例はSkype、FireFox、などである)
ますバックエンドを別個のプロセス/モジュールに分離し、ユーザがそれを実現することなくバックエンドを再起動することによってバックエンドを更新することができる。フロントエンドの更新
は少しトリッキーになりますが、必要であれば、回避または遅延することができます。
これを達成するためのすてきでクリーンな方法は、動的プラグインを使用することです。 プラグインベースのアプリケーションを大幅にコーディングすることができます。更新が必要な場合は、更新が必要なプラグインをアンロードし、.dllファイルを更新してアプリケーションに戻します。 しかし、これをユーザーに見えないようにするのは難しい作業なので、設計とコーディングに大きく依存します。
しかし私は、慎重にコード化されなければならなかったこと、のが住んでexeファイルを交換する能力を有するインタイムを覚えています。私はそれが可能であることを知っているが、Jon Skeetが言ったように、あなたは試していないほうが良いだろう。必要な場合は1つのダウン/再起動を遮断することができるよう
あなたが自動化または非常に深刻なもののいくつかの種類をやっている場合を除きは...でも、その後、あなたは、フェールオーバーを検討すべきです。
、あなたのアプリケーションとDLLを立ち上げ、骨格フレームワークのいくつかのいくつかの並べ替えを持っている場合は、CreateDomainで見ることができます。それはあなたの部分で深刻な設計努力を取るでしょう。がんばろう!
- 1. Infowindowを閉じることなくネットワークリンクを更新する
- 2. 更新後にアプリケーション強制が絶え間なく閉じる
- 3. すぐに閉じることなくダイアログを更新しますか?
- 4. 変更を行うことなくヘッドを閉じる
- 5. メインダイアログ(親)を閉じることなくダイアログボックス(子)を閉じる方法
- 6. ストリームを閉じることなくNetworkStream.ReadAsyncをキャンセルする方法
- 7. ボタンをクリックすることなくAlertDialog.Builderを閉じる方法
- 8. タイマーとアプリケーションを閉じる
- 9. 閉じるアプリケーション
- 10. 閉じる閉じる前に変更を保存閉じる
- 11. 完全なアプリケーションを終了することなく1番目のフォームを閉じる方法は?
- 12. QtCreatorでコンパイル出力ペインを閉じることなく、完了ツールチップを閉じるには
- 13. バックグラウンドに行くときにアプリケーションを閉じる
- 14. iPhoneアプリケーションでキーボードを閉じるキーを閉じる(UITextViewで)
- 15. Domino 6.5 - フレームセット内のドキュメントを閉じる - アプリケーションを閉じる
- 16. テキスト更新が遅くなるアプリケーション
- 17. ブートストラップ閉じる閉じる閉じる閉じる閉じる閉じる閉じる次へ進む
- 18. Twitter Bootstrap Popovers閉じるときに閉じる閉じる
- 19. MessageBoxResultボタン閉じるアプリケーションをキャンセルする
- 20. は、アプリケーションが「閉じる」
- 21. Rubyで閉じるアプリケーション
- 22. VS11アプリケーションの閉じるボタン
- 23. Repast Simphony 2.0を使用すると、パースペクティブを閉じてアプリケーションを閉じるとeclipseが開かなくなります。
- 24. 閉じることができないフォームを作成する
- 25. 閉じることができないフラッシュプロジェクタアプリケーションを作成する
- 26. アプリケーションを閉じるときに新しいStackTraceブロックを呼び出す
- 27. 閉じるボタンここ
- 28. BufferedOutputStreamを閉じると、基礎となるOutputStreamも閉じますか?
- 29. フォームが閉じるべきでないときに閉じる
- 30. Jqueryシンプルなモーダルウィンドウを閉じて親を更新