WinMergeポータブル版に限らず、シェル統合(シェル拡張、シェルエクステンション)できるポータブル版のソフトで発生することがありますが、最新バージョンをコピーしようとすると「.dll」の上書きで失敗します。
以下のような感じです。
WinMergeの場合、問題なくコピーできるもの以外をスキップしてコピーしたところ、「ShellExtensionX64.dll」だけがコピーできない状態でした。
こういった場合、一旦シェル拡張を解除します。
シェル拡張を解除しても上書きコピーができない事がありますが、こういった場合はエクスプローラーを再起動すると反映されます。
「タスクマネージャ」を開き、「エクスプローラー」を右クリックします。
メニューの「再起動」をクリックすると開いているフォルダなどが全て閉じられ、エクスプローラーが再起動されます。
再びコピーしてみると、今度は上書きできると思います。
ソフトによっては、設定からシェル統合を解除するだけでコピーできるものもありますが、上記のようなトラブルが出たら、WinMerge以外の場合でもシェル拡張を解除したあとエクスプローラーの再起動も行ってみてください。
また、WinMergeのインストールディレクトリには「UnRegister.bat」と「UnRegisterPerUser.bat」があり、WinMargeを起動しなくてもシェル統合を解除できます。
「全てのユーザー」に対するシェル統合を解除する場合は「UnRegister.bat」をダブルクリックして実行し、「現在のユーザー」のみでシェル統合した場合は「UnRegisterPerUser.bat」を実行します。
よくわからない場合は両方実行すればOKです。
PCを再起動すると上書きできなかったファイルが更新できると思います。
同じフォルダに「Register.bat」と「RegisterPerUser.bat」がありますが、これは逆にシェルへ登録するバッチファイルです。
コメントフォーム