yossy_takeuchi wrote:
> 個人的には、アップデートパッチの実行の際、
> OpenOffice.orgのインストールフォルダに入っているiniファイルを読み込み、
> バージョン(及びビルドID)を取得し、アップデートの可否を判別するのが
> 最良の方法だと思います。

それも使えるのですけど、それには1つ欠点があるのです。

 「この1.1.5には、すでに○月○日リリースのセキュリティパッチがすでに
  適用されています」

というようなメッセージを出すことはできないでしょう。だって、そこの情報
に関しては、パッチを適用しても、誰も更新・変更しないからなです。

だから、program フォルダ内に存在している実物の .dll ファイルの md5
チェックサム値などを計算し(ファイルのサイズと日付のチェックだけでも
十分かもしれません)、そのファイルが置き換えるべき不具合の含まれている
ファイルであるかどうかを判断するのが、一番確実ではないかと。

つまり、他の間接的な情報、例えば、レジストリ内の情報や、.iniファイルの
情報は、更新されないままどんどん陳腐化していってしまう可能性があるからです。

と、ここまで書いてみたものの、そんなに厳密にする必要はないのですものね。
正確性こだわるのはここらへんで止めておいたほうがよいのかもしれません。


> 【OpenOffice.org 1.1.x の場合】
> OpenOffice.orgをインストールしたフォルダの"program"サブフォルダ
> (デフォルトではC:\Program Files\OpenOffice.org1.1.5\program)に
> "bootstrap.ini"というファイルがあります。
> この bootstrap.iniにある [Bootstrap]プロパティの
> "ProductKey"キー 及び "buildid"キーを取得して
> 判別すれば問題ないはずです。

StarSuite 7 の時の Product Update は、そのような方法で判断していたようです。
なぜって、簡単だし、ファイルをごそっと差し替えていたので、いちいち md5 値
などの正解値を全ファイルについて保持しておくのも大変だったからではないかと。

Tora

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

メールによる返信