HTML-UDK の注意点など
まず,index.html をご覧の上,この文章をお読み下さい。
貴方のソフトウエアを更新風鐸に対応するには,以下の作業をする必要があります。
以下は,これらについて解説しています。
以下全てのレジストリへの登録ルーチンをソフトウエアに内蔵するときは,HKEY_CURRENT_USER¥Software¥Upcheck¥ キーが存在するときのみ登録するようにして下さい。更新風鐸自体がないと,登録しても意味がありませんので。
レジストリには,作者名,情報ファイルの所在,表示されるホスト名を記入しておく必要があります。それらの情報は,HKEY_CURRENT_USER¥Software¥Upcheck¥ の下に作成します。
この下にキーを作りますが,貴方の E-mail アドレスをキーの名前にして下さい。特に従う必要はありませんが,他の方とダブらない一意なものにする必要があります。それには,E-mail アドレスが最適です。
例えば,私の場合は次の所に登録します。 (なお,メールアドレスが後で変更されたときには,そのまま使い続けるか,変更するかは適宜お決め下さい。この情報は特に使いません。)
例:HKEY_CURRENT_USER¥Software¥Upcheck¥info@t-nexus.com
この下に,次の文字列を作成します。
以上を登録することで対応できますが,この登録方法は次の二通りがあると思います。
まず,次のようなレジストリ登録ファイル(拡張子 reg)ファイルを作る方法があります。これだと,エンドユーザーにも操作できるので,今まで配布したソフトウエアを変えることなく,更新風鐸に対応できます。
注意点は,ユーザーがスペースの入ったフォルダで実行しようとすると,エラーになる点です。出来れば付属ドキュメントに明記しておいた方がいいと思います。
REGEDIT4 [HKEY_CURRENT_USER¥Software¥Upcheck¥info@t-nexus.com] "DisplayHost"="www.os.xaxon.ne.jp" "InfoURL"="http://www12.ocn.ne.jp/~sutak/software/update.inf" "Author"="G.ib@Tenacious Nexus (http://www.t-nexus.com/soft/fordev.html)"
これを Gib.reg のようにファイルに用意して実行すれば,上記情報が書き込まれます。
プログラムの中から,reg ファイルを書き込むようにしても使えますが,これについては後述します。
また,プログラム本体に書き込むルーチンを加えることもできます。というより,この方がいいでしょう。これについては,各々の作者の方がご自由にコーディングして下さい。さらに添付ライブラリをご使用になると,より簡単に対応可能です。参考にして下さい。
上記の通り作者情報を書き込むと,次回から自動的に更新風鐸が起動時に読み込み,検索リストに加えます。ただ,当然ながらソフトウエアの情報が書き込まれていないといけません。これは,先程の作者キーの下に作っていただくことになります。
まず,あなたのソフトウエアに,一意な名前・番号等をつけていただき,その名前のキーを先程のメールアドレスのキーの下に作ります。私の場合だと,次のようになります。 つまり,1つのソフトウエアについて,1つのキーを作って下さい。
UDK5.0 更新点 UDK5.0 から,DisplayName キー 及び FilePath キーが追加されました。前者は表示のため,後者は将来のバージョンのための布石です。どちらも必須ではありません。
例:HKEY_CURRENT_USER¥Software¥Upcheck¥info@t-nexus.com¥hiyori2
このキーの中に,次の情報を書き込んでおいて下さい。
UDK5.0 で更新された点は,NEW@5 と記しておきました。
キーの名前 | 解説 |
---|---|
Build [必須] | ビルド番号(DWORD 値)。ビルド番号を保持していないソフトウエアでも全く問題なく,この数字よりも大きい数字がアップデート情報ファイルの Build にあった場合,最新版と見なす数字です。リリースごとに 1 増やしていってもかまいませんが,更新されても番号が同じだと,意味が無くなります。とにかく,新しい物ほど数字が大きくなるようにしておけば問題ありません。また,仕様上,1より大きくなるようにして下さい。 ここの数字より小さい数字がアップデート情報ファイルの Buildにあって,さらにそれを更新と表示したい(ダウングレード)ときは,DownGrade というキーをアップデート情報ファイルで指定する必要があります。 例:初版で1,次版で2など |
DistinctName [必須] | 区別する名前(文字列)です。これは,アップデート情報ファイルにある,[Softx]セクションの DistinctName と一致する必要があります。これで同一ソフトと判断します。基本的には表示などには使われませんので,数字の羅列でもかまいません。ただし,あなたのソフトウエアの中で一意である必要があります。 例:日和見時計 |
DisplayName NEW@5 | 設定は必須ではありませんが,これを指定すると,作者リストにソフト名として記されるようになります。この設定を空にすると(つまり文字列""とすると),ソフト名リストに掲載されなくなります。このキー自体を作らないときは,自動的に DistinctName から割り当てられます。ここの文字列は,表示目的以外には全く使用されません。それぞれのソフト名は,/ で区切って表示されます。UDK5 から追加。 将来のバージョンでは,一つ一つのソフトごとの表示に,この名前が使われる予定です。その際には,空白文字列指定の場合,DistinctName から割り当てられる可能性があります。ソフト名を表示しない設定に出来るのは,現行のバージョンだけとお考え下さい。 例:日和見時計 |
FilePath [予約] NEW@5 | 設定は必須ではありませんが,将来のバージョンでソフトごとの削除・チェック等に対応する機能を追加する予定です。それにあたり,ソフトごとのアイコンを表示するようにする予定です。そのためには,実行形式ファイルの所在が分かっていないことには,アイコンを抽出できません。この文字列キーに,是非フルパスを書き込んでおいて下さい。このキー自体が存在しないとき,このキーのパスにファイルが見つからなかったときは,ただ単にアイコンが表示されないだけですので,実害はありません。次世代バージョンからサポートされます。UDK5 から追加。 例:C:¥Program Files¥Hiyori¥Hiyori.exe |
IconIndex [予約] NEW@5 | このキー(DWORD 値)はほとんど使われることがないだろうと推測されますので,必要なときのみ作成して下さい。また,FilePath キーが無いと意味がありません。このキーの番号のアイコンが,FilePath キーのファイルから抽出され,表示されるようになります。次世代バージョンからサポートされます。UDK5 から追加。 例:2 (リソースに含まれる2個目のアイコン) |
これらの情報の登録方法も,やはり二通り考えられます。場合にわけて説明します。
次のような reg ファイルを作って配布します。Readme.txt に,ダブルクリックして下さいという旨を書けば,たいていのエンドユーザーが問題なく実行できると思います。ただ,この方法ですると,登録したユーザー全員が最新版を持っていることになります。全てのユーザーが最新版を持っているとは限らないことも考慮に入れる必要があります。
注意点は,DWORD は16進法で書かれていること,またユーザーがスペースの入ったフォルダで実行しようとすると,エラーになる点です(98でどうなるかは未確認)。出来れば付属ドキュメントに明記しておいた方がいいと思います。また,FilePath キーはこの方法では登録できませんので,ご注意下さい。
REGEDIT4 [HKEY_CURRENT_USER¥Software¥Upcheck¥info@t-nexus.com¥hiyori2] "DistinctName"="日和見時計" "Build"=dword:00000171 "DisplayName"="日和見時計"
これ以外に,UDK 支援ツール第二弾 REGINFO を使う方法もあります。こちらをご利用になりたい方は,当方の Web をご覧下さい。
未対応ソフトを対応させるのと全く同じ方法で,reg ファイルを添付して配布すればいいでしょう。ただ,バージョンをあげた後,エンドユーザーが再び同じ処理をしてくれるかは問題です。再び登録する必要性を感じないユーザーがいるかも知れません。
その問題に対処するには,起動時に次のようなルーチンを組み込めばいいかも知れません。
(Delphi)WinExec('regedit /s hiyori.reg', SW_HIDE); (C) ::WinExec("regedit /s hiyori.reg", SW_HIDE); * ShellExecute や CreateProcess でももちろん OK なはず(^^ゞ。
(hiyori.reg は適当に変えて下さい)これを組み込めば,エンドユーザーにも差し障り無く登録できますし,実行後レジストリファイルを削除されるルーチンをつけるのもいいかも知れません。
作者情報と同じく,作者の方がご自由にコーディングして下さい。添付ライブラリも参考にして下さい。
また,ここではわけて説明していますが,作者情報・ソフトウエア情報の両方を同じファイルにまとめて配布したり,一度に両方を登録する方が実用的です。
添付してある update.inf をご覧下さい。たいていそれで理解できると思います。 このファイルをサーバーに置き,その URL を先程のレジストリへの作者登録の InfoURL に指定しておきます。 このファイルの情報が新しくなっていると,ユーザーはアップデートされたことを知ることが出来るようになります。
UDK4 以前 UDK4 以前の更新情報は破棄されています。それ以前のバージョンに対応されていた作者の方は,申し訳ありませんが,もう一度ご確認下さい。
UDK5 での更新点 UDK5.0 で追加/変更された点は,NEW/UP@5 と記しておきました。また他に,Info-Version を5に変えておいて下さい。
このファイルは,INI ファイル形式です。次のように定義しています。
このセクションには,作者情報を記入します。主に表示されることに使われます。また,作者からのお知らせを追加できます。
キーの名前 | 解説 |
---|---|
Version UP@5 | 対応する更新風鐸の UDK バージョンを記入します。将来の拡張のために用意されていますので,必ず指定して下さい。現時点では,5。指定しない場合は Ver.2.00 以上では 5 と同じ扱いになりますが,それ以前のバージョンでは正しく認識されません。また,5と設定しないと,UDK5 でサポートされた情報が伝わらない旧バージョンユーザーにも,更新風鐸最新版を入手するようなメッセージが表示されなくなってしまいます。 |
Software [廃止] UP@5 | ----- このキーは,Ver.2.00 から廃止されましたが,過去のバージョンとの互換性の観点から,しばらく残しておいて下さいますようお願いします。 ----- 情報ファイルに記入されるソフトウエアの数を記入します。ソフトを追加した際には,この数を増やすことを忘れないようにしてください。 |
Author | レジストリに登録する作者名とは異なります。これは,最終リストで表示される作者名で,長すぎると見えなくなってしまいます。そのための物です。 |
URL UP@5 | ホームページの URL を指定します。後述する GetAt が指定されていないときは,ここにジャンプします。また,この情報が巡回時にレジストリに記録され,次回起動時以降,更新風鐸の最初のページの作者リストから,ホームページに飛べるようになります(Ver.2.00 からの新機能)。 |
Notice | 簡単な作者からのメッセージ等を表示するときに使います。このキーがないと,お知らせリストに表示しません。他の新ソフトが出来たときや,Web を更新したなど,多目的に使えます。改行を入れたいときは,#r と入れてください。これを差し込むとそこに改行が入るようになります。 なお,#round など #r という文字列を表示したいときは,#R とするか,#を全角にして下さい。 |
この後は,[Soft&] と言う形で,& に1から順に数字を入れていきます。理論的には,いくつでもかまいません。Ver.2.00 からは,存在する間読み込み続けるようになりましたが,Ver.1.30 以前では Info セクションの Software キーで指定した数しか読み込みませんので,しばらくはこのキーの変更を忘れないようにお願いします。
キーの名前 | 解説 |
---|---|
DistinctName | レジストリの DistinctName と一致させる必要があります。これを元に,ソフトウエアを判断します。 |
DisplayName | 表示する名前を指定します。最終更新リストに表示されます。指定しないときは,上の DistinctName が使われます。 |
Build | Build 番号を書きます。レジストリの Build と比較されます。もっとも大事な数字です。 この数がレジストリの Build よりも大きいとき,または小さいときでかつ DownGrade キーが指定されているときに,更新リストに表示されます。 |
Version | ソフトウエアのバージョン番号を書きます。これは,実際に表示される物で,比較したりすることには使いません。アルファベットが混じっていても,数字でなくても問題ありません。 |
Update | アップデートした日付を書きます。文字列で表示されますので,どう記入してもかまいませんが,出来れば1998/01/30という書式のままお願いします。ソートするときに孤立してしまいます。 |
GetAt | ジャンプするページを指定します。指定しなかったときは,[Info] セクションの URL キーの値が自動的に指定されます。http://から書き始めないと,動作しません(セキュリティのため)。 |
Notice | ソフトウエア単独についてのメッセージを表示するときに指定します。このキーが存在すると,更新ソフト名のところに * 印を入れ,ユーザーに情報があることを伝えます。 [ソフト情報] をクリック,もしくはそのまましばらくするとヒントとして表示します。 #r を入れると改行を挟むことができます。 また,あるリリースに対して専用の情報を表示したいときは,その対象としたいビルド番号を Notice の後ろに足したキーを作って文字を入れます。たとえば,Build 123 に致命的バグがあったとすると, Notice123=致命的バグあり のようにキーを作ってメッセージを書き込みます。これで,このビルドに対してのみ,特定のメッセージを表示できます。このキーが優先されますので,Notice キーと両方あったときは,特定ビルド向けのメッセージが表示されます。該当するものがないときは, Notice キーの内容を表示します。 |
DownGrade | DownGrade=1 と記述すると,このソフトウエアはダウングレードしたことを示します。これを指定した場合は,レジストリの Build 番号が大きくても通知します(番号が同じ場合は,通知しません)。同じ現象の時(レジストリの Build の方が大きいとき)でも,これが指定されていないときはリストには表示されません。普段はキー自体書かないで下さい。 Ver.1.30 の新機能です。それ以前では,このキーが無くても勝手に更新リストに加えられます。 |
以上のような登録情報を配布しますが,注意点として以下のような物があります。これらを出来るだけドキュメントに記述するようにして下さい。
必須
任意
任意とあるのは,パワーユーザー向けのソフトの場合などに記述しておくといいでしょうが,初心者向けのものでは書かなくてもかまいません。
全てのレジストリへの登録情報を,この更新風鐸のために,ご自身のソフトウエアが使用しているキーと全く独立したキーに登録することにより,アンインストール機能を付けているプログラムの場合,アンインストールルーチンを改良しなくてはいけなくなる可能性があるでしょう。
しかしながら,このソフトウエアでは作者情報の登録削除・個々のソフトウエアの登録削除をユーザーが楽に出来るようになっています。ただ,個々のソフトウエアについては,更新チェックに引っかかった時に削除できるようになっています。更新されない限り,更にユーザーが削除しない限り,レジストリから削除されないことになります(ここらへんは,Ver.3(仮称) でソフトごとの削除等に対応予定です)。作者ごと消し場合は,もちろんソフトウエアについての情報も全て消されます。
これらにより,特にアンインストール時にキーを削除しなくてもかまわないと思われますが,念のため削除して下さっても何も問題ありません。ただし,間違っても更新風鐸のデータ全てを削除しないよう,必ず動作確認をしてくださいますようお願いします。
間接的に更新風鐸を呼び出せるよう,レジストリにパスを保存するようにしました(Ver.2.00 から)。また,バージョンも記入するようになっています(バージョンは,本体のビルド番号と,UDK バージョン)。
場所は ¥Software¥Upcheck¥ にある FutakuPath 文字列キーに格納されています。フルパスで格納されていますので,直接この文字列を ShellExecute なりで起動すれば動くでしょうが,最低限ファイルが存在するかどうかのチェックは行っておくといいでしょう。
バージョン(ビルド番号)は,¥Software¥Upcheck¥ にある FutakuBuild DWORD キーに保存されていて,また対応 UDK バージョンは,同じところの RequiredUDK DWORD キーに保存されています。
これ以外のキーは,外部で利用するようなものではありませんので,使わないようにしてください。
更新風鐸のパス FutakuPath を用いて更新風鐸を起動する際に,対応ソフトウエアのアップデートチェック専用に使うためのオプションが,次期バージョンで用意されます。事前にこの機能に対応するために,次のオプションを先行して策定します。
実行時オプションは,基本的にレジストリキーの文字列を指定します。ただし,この引数は現在のバージョンではサポートされていないため,必ず,RequiredUDK キーを参照してから実行するようにして下さい。このキーを参照後,RequiredUDK が 6 より大きいときに,次のような引数をつけて実行します(あらかじめ,FileExists() 関数などで存在を確認してから実行して下さい)。
upcheck.exe /checkauto [作者のキー] [ソフトのキー]
作者のキー,ソフトのキーともにレジストリのキーの名前です。また,ソフトのキーは複数設定することが可能です。たとえば,更新風鐸のチェックをしたい場合は,
upcheck.exe /checkauto info@t-nexus.com futaku
のようにして実行します。同時に Copio の検索もしたいとすると,
upcheck.exe /checkauto info@t-nexus.com futaku copio
となります。なお,各トークンの間には必ず半角スペースを一つ挟んで下さい。
サンプルソースは,組み込みユニットファイルとして別途用意しています。用意されているのは,次の開発ツール向けのものです。
それぞれ書庫に入れてありますので,展開してご使用ください。付属ドキュメントはよく読んでからご使用ください。
以下のレジストリファイルが添付されています。なお,これらのファイルは,ここからダウンロード or 開くことが出来ません。パッケージで落としてご利用下さい。
最初の物は作者情報を登録するため,下のものはソフトウエア登録のための物です。改変して添付・配布等に使って下さい。
以下のアップデート情報ファイルが添付されています。
サーバーに置いておくファイルのサンプルです。適当に改変してご使用下さい。
All UDK contents (except Sample Rootines) and graphics are produced by G.ib.
Copyright © 1997-1999 by G.ib. All Rights Reserved.
This HTML-UDK document is created by G.ib with My Hand & WZ Editor.
Since December 16, 1998