VBで自動アップデートをしてみよう(仮)     2002/04/22
ユーザーが今の最新バージョンを確認できたり、最新版へ自動的に更新することができれば、いちいち、HPをチェックする手間を省かせることができます。

ネットゲーム等で、差分のファイルをDLさせて最新の環境にできたりと、
何かに使える機能じゃないかなと、思い込んでます(汗

この機能は、1つのexeとして実行することを、前提としています。
実行中のファイル(使用中のファイル)は、アップデートはできません。
本体とアップデート用のプログラムは、別々になっています。

方法
指定アドレスに、アップデートファイル、ファイルリスト、バージョンファイルを準備していきます。

注意事項
1 ダウンロードの失敗時の再ダウンロードはできません。
    もう一度、起動しなおしてください。
2 プロトタイプのため仕様は変更されます。
3 自己責任で流用してください。


使用例
VBで、とあるネットRPGを作ったとします。ネットゲーム関連は実行毎に、
最新の環境にしておかないと、動作に不都合が生じます。

rpg.exe               通常こちらを起動させます。
rpg_cli.exe             ゲームクライアント-プログラム
up.exe                  アップデート-プログラム(パッチ)

rpg.exe の役割

起動すると、はじめに "up.exe" アップデート-プログラムを実行して、
そのプログラムが終了するまで待機します。

続いて、"rpg_cli.exe"ゲームクライアント-プログラムを実行して、
待機せず、終了します。

(この機能は、アップデートツールの汎用版に組込済みです。)


"up.exe" アップデート-プログラムの動き

1 本体のプログラムの前に、この[自動アップデート]を起動します。
                                   
2 インターネットに接続しているかをチェックし、接続させていれば続行
                                   
3 指定アドレスの[バージョンファイル]をダウンロードし、
    現在のものより最新かチェックする
                                   
4 今のものより、最新であれば続行する。
                                   
5 指定アドレスの[ファイルのリスト]をダウンロードし、
    指定アドレス上に全てあるかチェックする
                                   
6 ファイルがあれば続行する。
                                   
7 ダウンロードした[ファイルのリスト]を元に、DL開始
                                   
8 ダウンロードに失敗していないかを CRCで照合する。
                                   
9 ダウンロード成功したら、ファイルの展開を開始する。
                                   
10 必要に応じて、設定を更新する。
                                   
11 更新に成功した場合に現在のバージョン値を最新へ書き換えます。
                                   
12 このプログラムを終了させる。

アップデート-プログラムのサンプルをダウンロード


設定やランキング更新限定
簡易版アップデートツール

簡易アップデート-プログラムの動き
1 指定アドレスの[バージョンファイル]をダウンロードし
    現在のものより最新かチェックする
                                   
2 指定アドレスの[ファイルのリスト]を取得します。
                                   
3 リストの情報から、現在より新しいものであれば更新します。
                                   
4 取得したリストから必要な差分ファイルをダウンロードしていきます。
                                   
5 ダウンロードに失敗していないかを ファイルサイズでチェックする。
                                   
5 CRC比較でチェックする。
                                   
6 更新に成功した場合に現在のバージョン値を最新へ書き換えます。

簡易アップデート-プログラムのサンプルをダウンロード


アップデート設定ツールを使用して、アップデートに必要なファイルを作成できます。
配布用アップデートツールの設定や使用するスキン画像は全て1ファイルにパックします。

対応画像はVBで表示できるものなら何でもパック可能です。

VER1.0.0.20 BATA-2E  111 KB (113,674 バイト)
簡易アップデート-プログラムの汎用版一式をダウンロード
V1.0.0.19分のバグフィックス含む

EX版を追加、CRC演算時間が短縮されてます。10倍速版
MMX演算コンパイラインターフェイスは思ったより速くなかったため、対応は見送ります。

進行バーとかも、今後Skinに対応させます。
現在の文字の色は、Skin画像の一番左上あたりの色を反転させたものを使用しています。


前バージョン
VER1.0.0.19 BATA-2D  79.4 KB (81,307 バイト)
簡易アップデート-プログラムの汎用版一式をダウンロード
V1.0.0.16分のバグフィックス含む


VER1.0.0.16 BATA-2C  100 KB (102,869 バイト)
前バージョン
永久起動ループ防止機能を追加。背景指定時にステータス進行バーの枠を外し、
DL差分のダウンロードがうまく動作していなかったのを修正。
[指定ファイルを開く]機能が強化されました。それに伴い命令文を6個サポート

VER1.0.0.15A BATA-2B  95.2 KB (97,543 バイト) - 再UP版 -
前バージョン
ダウンロード先がレジストを通して指定できます。(読込のみ)
旧バージョンと完全互換性です。CLIENTやServer側のファイル等。
レジューム機能(キャッシュ)に対応。

VER1.0.0.14 BATA-2A
前バージョン(89.4K)
多重起動を拒否するようにしました。進行表示に関するバグを修正しました。

前バージョン V1.0.0.12 (88.4KB)
前バージョンのV1.0.0.12分のバグ修正版B。追加された機能はありませんが、
背景指定時と指定なし時のレイアウトを変更しました。

前バージョン V1.0.0.11 (114.1KB)
更新日比較による差分ダウンロード、CRC比較によるファイルチェックに対応
前バージョンとのクライアント側&サーバー側との相互互換性有り。
(前回まで必要だったクライアントの通信OCXは
不要です)

前バージョン V1.0.0.7
更新日比較による差分ダウンロードに対応(クライアントは別用途、通信OCXが必要です。)


背景画像 PSD形式です。(レイヤータイプ)
簡単にこのツールに合わせて背景画像が作れます。(30秒程度)

背景用テンプレート2をダウンロード(107KB)最新版向け

テンプレートを使った例..


実際に稼動中。祭り専用(謎

使用例...旧バージョン14を使う場合の例...