ダウンロード サンプルファイル (14.4 KB)
本稿では、VB.NETを用いて、エンドユーザー用オンラインアップデート機能をソフトウェアに追加する方法を紹介していきます。簡単なベースコードをプロジェクトに付加するだけで、クライアント/ユーザーに対するアップデートの配信機能を大きく改善できます。
はじめに
プログラム開発の現場では、大きなアプリケーションを管理しやすい小さなDLLに分割することがよく行われます。そして大抵の場合、リリース後まもなくいくつかのDLLに小さな問題が見つかり、バグ修正が必要になります。ところが、そのソフトウェアを使う誰もがバグ修正を簡単に入手できるわけではありません。幸い、現代の職場では、ほとんどの人がインターネットへの接続手段を有しています。本稿では、このインターネット接続を利用してアップデートを配信することを考えます。
これは思ったほど難しい処理ではありません。私は大規模なアプリケーションのオートアップデータを仕事でいくつか開発したのですが、実際にやってみると、この作業はかなり簡単であることが分かりました。実行すべきタスクを要約すると次のようになります。必要なものは.NETにすべて用意されています。
- アクティブなインターネット接続があるか確認する。
- 当該アプリケーション向けのアップデートがあるかどうか確認する。
- 必要なファイルを、それぞれ対応する場所にダウンロードする。
- アップデート後のアプリケーションを開始する。
デフォルト値とファイルパスの設定
最初に、いくつかのデフォルト値とファイルパスを設定する必要があります。
'Project name Public Const AppName As String = "Hex Editor" ' Unique Project ID -- Public Const UpdateID As String = "HexEdit" ' The Application's Root Path "C:\Dir1\Dir2" (No trailing backslash) Public Const AppPath As String = "C:\Program Files\Hex_edit" ' The Application's Exe "Dir3\Prog.exe" (from the root path. ' No leading Backslash) Public Const AppEXE As String = "Hex_edit.EXE" ' Other startup defaults ' Last update loaded... Public Const LastUpdate As Integer = 0 ' Wait time to connect to Update Site in seconds Public Const TimeOutlen As Integer = 60 ' Default site to download updates from Public Const UpdateSite As String = "updates.mysite.com"
このオートアップデータは汎用アプリケーションとして書かれています。また、どんなプロジェクトにも、コードにそれほど手を加えずに追加できるようにしたいので、プロジェクトに依存する情報はすべて変数に格納するようにしてあります。
上記の一連のデフォルト値は初回の使用に関係する設定情報であり、ファイルかレジストリに格納する必要があります。この情報をどこに格納するかは、読者の判断にお任せします。
この記事は参考になりましたか?
- japan.internet.com翻訳記事連載記事一覧
- この記事の著者
-
japan.internet.com(ジャパンインターネットコム)
japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
Richard Newcombe(Richard Newcombe)
Commodore 64の時代からコンピュータに親しみ、今では優れたプログラマー、デザイナーとして活躍。30代前半で、コンピュータから離れることはめったになく、コンピュータ関連の問題ならばいつでも助力とアドバイスを惜しまない人物。最近は本サイトに関するいくつかのプロジェクトに従事。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
