CE Update Checkの研究(その2)
CE Update Checkの動作ですが、よく見ると2パスでチェックしているようなプログレスバーの動きになることに気が付きました。そこで、以下のような動作ではないかと予想しました。
パス1 - インストールされたQFEのチェック
まず、現在の最新QFEリストをインターネット上のサーバーから取得します。
CE 5.0の場合は2004年のリリース直後からのQFEがリストされます。CE 6の場合は サポートされるのはR3リリース以降となり、2009年9月以降のリストが取得されます。ここで取得されたエントリがCE UpdateCheckのリストビューで表示される項目になります。
これに対して、すでにローカルでインストールしたQFEを\Windows\WinCE50.ini または \Windows\WinCE60.ini から取得し、インターネットから取得したサポートQFEの一覧と照合します。もしサポートQFEの項目をインストールした情報が存在する場合には、その項目はとりあえず緑の注意マークに変更されます。(インストール済みQFEのリストに含まれていない項目は黄色のびっくりマークになります)
パス2 - QFEに含まれるファイルのCRCチェック
緑のチェックマーク項目になっているQFEのそれぞれのファイルのCRCをチェックします。もしファイルのCRCがQFE情報のものと一致しない場合には、赤のビックリマークに変更されます。
========================================
つまり、CEUpdateCheckを実行した時点で有効なQFEのリストはインターネットから取得し、WinCE50.ini または WinCE60.ini ファイルからはQFEのインストール履歴を取得するのではないかという想定です。もしCE6 R2やR3をインストールすると、WinCE60.iniは空の状態にリセットされ、その後のQFEインストールを記録すると考えられます。また、このインストール済みQFE一覧を見て、あるQFEがすでにインストールされたものなのか、まだインストールしていないものなのかを(QFEインストーラ自体が)自己チェックしているのでは、という話もあります。
そうすると、(CE6の場合) 現在R2のQFEのチェックをすることはできず、チェックできるのはR3をインストールした以降のQFEのみ、となるのですがこの予想は正しいでしょうか???