ログを取ってみたところ、
2021-02-28 17:14:52.777 -- File entry -- 2021-02-28 17:14:52.777 Dest filename: C:\Program Files\WinMerge\Merge7z\Merge7z.dll 2021-02-28 17:14:52.777 Time stamp of our file: 2021-02-27 11:20:26.000 2021-02-28 17:14:52.777 Dest file exists. 2021-02-28 17:14:52.777 Time stamp of existing file: 2020-07-02 18:56:20.000 2021-02-28 17:14:52.777 Version of our file: 19.0.0.0 2021-02-28 17:14:52.777 Version of existing file: 19.0.0.0 2021-02-28 17:14:52.777 Same version. Skipping.Merge7z.dllのバージョンが1.9.0.0のまま更新されていないのが原因のようです。 Inno SetupのKnowledge Baseにも情報がありました。https://jrsoftware.org/iskb.php?filenotreplaced
バージョンを戻すときに古いバージョンで上書きインストールすることを考えると、ignoreversionフラグを設定するのがいい気もします。
また、ログを見るとなぜか2.16.10-jp-4のほうがタイムスタンプが古くて上書きに失敗しているケースもあるので、comparetimestampも指定しないほうがいいと思います。
ご連絡ありがとうございます。
以下のコミットで修正しました。 https://github.com/WinMerge/winmerge/commit/e4bae5e4a406405784ec878d13bb899349371f35
メール通知からみていて ignoreversionフラグに言及されていることを見落としていました。今回は replacesameversion フラグを付けて対応しています。 試してみた感じでは上書きしてくれていたのでおそらくは大丈夫だと思いまます。
再現手順
1. WinMerge-2.16.10-jp-1をインストールする。
2. WinMerge 2.16.10-jp-1をアンインストールせず、WinMerge-2.16.10-jp-4を上書きインストールする。
その結果
Merge7z.dllがWinMerge-2.16.10-jp-1のファイルのまま更新されない
期待される結果
Merge7z.dllがWinMerge-2.16.10-jp-4のファイルに更新される
回避策
いったんWinMerge 2.16.10-jp-1をアンインストールしてからWinMerge-2.16.10-jp-4をインストールする。
2.16.10-jp-3以降で対応したはずのRar5アーカイブが展開できなくて気づきました。