本論文では、ソフトウェアの自動更新を達成するためにC#の方法を用いた例を分析し、それは学習とリファレンスの価値がある、非常に便利な機能です。次のとおりです。
問題の概要:
長い間、最終的にはプログラマの大半は、クライアント/サーバーを使用するか、またはブラウザ/サーバ・アーキテクチャの議論を使用することで、これらの引数、C / Sの構造差のプログラムの保守性、レイアウトの難しさは、便利な、高いメンテナンスコストをアップグレードされています非常に重要な要素。多くの企業ユーザーがありますが、それは、C / Sの使用放棄はこのためであります ただし、アプリケーションがうまくその機能を達成するためにC / Sの構造を使用しなければならないとき、どのように我々はクライアントの展開と自動エスカレーションを解決するのですか?展開は非常に簡単です、ただ難易度が自動アップグレード、新しいバージョンがリリースされるたびにということで、にインストーラをクリックしてください。私たちの目標は単純ですさて、私たちは、特定のアプリケーションの開発とは何の関係が自動的にシステムを再利用することができません更新します。今私はC#で書かれた自動アップグレードシステムは皆のための再利用可能な一連のです提供します。
2.難易自動的に既存のソフトウェア実装をアップグレード
まず、リモートサーバー上の最新情報を見つけるために、アプリケーションは、ネットワークプログラミング、簡単なアプリケーションと通信サーバプロトコルを必要とするネットワークを照会する方法を持っていなければなりません。
第二は、ダウンロードにあります。ルックスをダウンロードネットワーキングの問題を検討する必要はありませんが、ユーザーによって要求されたファイルをダウンロードして検討し、ユーザーの同意なしに大容量のファイルをダウンロードしてください。フレンドリー自動的にアップデートをダウンロードするには、残りの帯域幅を使用するアプリケーションを更新。幸いなことに、我々は解決策を持っている、それは簡単に聞こえるが、それは技術的な問題です。
第三の考慮事項は、元のアプリケーションプロセスを置き換えるために、新しいアプリケーションを使用することです。より興味深い質問、それはシステムから身を削除する実行するコードを必要とするため、この機能を実現するには、いくつかの方法がある[5]は、このプログラムは、日付番号の新旧バージョンを比較することで、アプリケーションの主要な新バージョンの機能を置き換えるために実装されています。
3.オンラインソフトウェアの自動アップグレードの原則
二つのプログラムを書く、1はメインのプログラムです。このプログラムは、アップグレード、すべてのアップグレードのタスクが完了しているアップグレードプロセスによって処理されています。
。①一時フォルダに新しいメインプログラムを(もちろん、などのサポートライブラリファイル、XML設定ファイルを、含まれます)ダウンロードし、Webサイトへのアップグレードプログラムコネクト、アップグレードプログラムを起動;
。②プログラムの新バージョンでは、サーバー側のXML設定ファイルを取得するためにアップグレード更新されたバージョン番号または日付やファイルサイズ、
③最新の更新日時やバージョン番号やファイルサイズを取得するために、既存のクライアントアプリケーションをアップグレードするには、両者を比較し、アップグレードプロセスは、最新のプログラムの元の日付よりも大きいことが判明した場合日付は、ユーザーがアップグレードするように指示されているかどうか、または最新バージョンの既存のバージョンを比較使用され、ユーザーが促されているかどうかの最新の発見は、アップグレードする、それはまた、ファイルサイズ、ファイルサイズのアップグレードプログラムが古いバージョンより大きく見られるような他の属性と比較しました。ユーザーがアップグレードするように指示されたプログラムのサイズ。本論文では、アップグレードを促す数を更新し、古いバージョンと新しいバージョンの使用を比較します。
。④あなたがアップグレードすることを選択した場合、あなたは一括ダウンロードのドキュメントを開始するために、ファイルのリストをダウンロードして取得します。
。⑤アップグレードプログラムの検出古い主な活動かどうか、古い主な活動が閉じている場合は、
。⑥旧メインプログラム、一時的なコピーを削除適切な場所にフォルダ内のファイル;
。⑦状態がアクティブである場合、新しいメインプログラムが開始され、メインプログラムの状態をチェックしてください。
⑧クローズドアップグレードは、アップグレードは完了です。
C#の持つ重要なステップのオンライン・アップグレードを実装する4
ここで私は、主にアップグレード版をダウンロードする必要性を検出するために、日付情報を使用します。
①。XML設定ファイルを準備します
名前AutoUpdater.xml、アップグレードするアップグレード、表示情報が必要とのテンプレートとして機能します。
名前AutoUpdater.xml、アップグレードするアップグレード、表示情報が必要とのテンプレートとして機能します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
// XMLバージョン
//アップグレードファイルサーバのURL
//更新日アップグレードファイル
のアップグレードファイルの//バージョン番号
//ファイルのリストを更新
// 3つの文書がありますアップグレードする必要がある
//アプリケーションの再起動を許可
//開始をアプリケーション名
サーバのアドレスは、文書をアップグレードする更新されたドキュメントをアップグレードすることができ、上記のXMLドキュメントから、ファイルのリストは、3つの文書の合計をアップグレードするここで、アップグレードする必要があります。aa.txt、VB40.rar、VB4-1.CAB。そして、許可するかどうかは、アプリケーションを再起動し、アプリケーション名を再起動します。
②。クライアントアプリケーションとサーバー側のアップグレードプログラム最終更新日時を取得します。
利用可能な()関数は、GetTheLastUpdateTimeによって実装されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
オープンXmlTextReaderはXML文書を通じて、最後のサーバー更新ファイルの更新時間である日に対応する値を、取得するように更新時間をお読みください。
関数は、達成するために呼び出します。
1 2 3 4 5 6 |
|
③。日付の比較
クライアント・アプリケーションと最終更新サーバー側のアップグレードプログラムの日は、最後の日付の比較を更新しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
前者が後者よりも小さい場合は、動的配列を経由して、ダウンロードファイルのリストを取得、ファイルのダウンロードを開始し、日付と、サーバー側のアプリケーションは、アプリケーションの日付をダウンロードして、前者が後者よりも大きい場合には、更新されないようにクライアントをアップグレードします。
()関数はBatchDownloadによって実現されます。古い主な活動が閉じている場合、古い主な活動かどうかをプログラムの検出をアップグレードし、適切な場所に一時フォルダ内のファイルをコピーし、古いメインプログラムを削除し、状態がアクティブである場合には、メインプログラムの状態を確認し、新メインプログラムを起動します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|