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

ここでおっしゃっている「依存関係の情報」とは何でしょうか。

なぜ、不完全なのでしょうか?


> で、結局、落ち着くところは、以下のようものでしょうか。

いえ、こちら↓のほうが、いいかげんというか、妥協案というか、のような
気がしてならないのですが。

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

なぜなら、対象の.dll を入れ替えても、こちら側の情報は更新されないわけですから、
信頼性には欠けているのではないでしょうか。

 StarSuite 7のProduct Updateの場合は、パッチを適用すると、そこの情報もしくはその
 近辺の他の情報を更新していたようなうっすら記憶があります。同じパッチを二度適用
 しようとすると、「適用対象ではないよ」とはじかれたような記憶がありますです。

1.1.5 に対しては、以前もセキュリティパッチが出ていませんでしたっけ(うろ覚え)。
今回も含め、今後も出てくるかもしれません。

つまり、対象の.dll がいろいろと指し替わっているかもしれないのに、そちらについて
は調べずに、信頼性にかける情報を信じて行動するのは、やばいような気がしませんか。

また、独自ビルドや、ベンダー提供のビルドなどの場合、今回ドイツからリリースされた
差し替え.dll が、それらのビルド内の他の .dll と相性がよいかどうか、不安な面が
残るのではないでしょうか。ですので、対象の.dll が、ドイツからリリースされた
公式版であるかどうかを調べて判断するのは、理にかなっていると考えられるのですが。。。

独自ビルドやベンダー提供のビルドに対しては、今回のドイツ・リリース.dll は相性が
悪い可能性があるので、独自ビルドの作者や、提供元のベンダーから、パッチ.dll を
入手し、適用するのが、すじ、というものだと思いませんか。

 ↑この点を、忘れていましたね。

とはいっても、みんな同じコンパイラ(※)を使っているので、たぶん、保証はしませんが、
相性は合うのではないかと勝手な推測はできます。

※高いお金を払った人のProfessional版でビルドすると最適化がなされる。それなりの
お金を払った人のStandard版では最適化はされていない。という違いはあるでしょうけど。

「最適化」すると、していないのよりも、一般的に少し(ものによっては著しく)動作が
速くなります。


===
でも、↑そんなこと、たぶん、どうでもいいんです。

いいかげんなことをするぐらいだったら、しないほうがたぶん まし なので。
で、結局、こんな仕様でいいのかな。

●バックアップを取っておく、ちょっと親切バージョン

 1. C:Program Files\OpenOffice.org1.1.5\program\xxxx.dll の存在を調べる。
   存在していなければ、終了する。
   「(バージョンアップしたとかで)他のフォルダにあるのかもしれないので、
    その場合は手でやってね」などとメッセージを出してあげる。

 2. C:Program Files\OpenOffice.org1.1.5\backup フォルダを作成する

 3. 現在そこに存在している「指し替わる対象.dll」をbackupフォルダへ移動する

 4. 今回提供された「差し替える.dll」を1.のフォルダにコピーする。

 5. 「パッチの適用は完了しました」「なんか調子が悪かったら、backupフォルダに
   残っているから戻してね」というようなメッセージを出して、終了する。

===
もう少し簡単にして、当初の通り、

●いちばん素直なバージョン (「手抜きバージョン」などとは呼ばないでね)

 1. C:Program Files\OpenOffice.org1.1.5\program\xxxx.dll の存在を調べる。
   存在していなければ、想定できる状況についての説明をして、終了する。

 2. 今回提供された「差し替える.dll」を1.のフォルダにコピーする。
   共有違反などでエラーが発生してしまった場合は、その旨表示して終了する。

 3. 「パッチの適用は完了しました」というようなメッセージを出して、終了する。


どうでしょうか。
Tora

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

メールによる返信