SUMMARY I (try to) use KDiff3 as my git merge tool. When opening from Git Extensions (and also from the start menu), it does not open. It crashes silently with only an error in the Windows Event Log. STEPS TO REPRODUCE 1. Try to open KDiff3 OBSERVED RESULT Silent crash after having kdiff3.exe visible for a brief moment in the Task Manager. Error in Window Event Viewer: Faulting application name: kdiff3.exe, version: 0.0.0.0, time stamp: 0x66df8d60 Faulting module name: Qt6Core.dll, version: 6.7.1.0, time stamp: 0x664cc8fb Exception code: 0xc0000409 Fault offset: 0x00000000000243a8 Faulting process id: 0x0xAC10 Faulting application start time: 0x0x1DB0DF14D35AB4C Faulting application path: C:\Program Files\KDiff3\bin\kdiff3.exe Faulting module path: C:\Program Files\KDiff3\bin\Qt6Core.dll Report Id: 3042c0b7-4041-4d4b-b4f1-8420055b0333 Faulting package full name: Faulting package-relative application ID: EXPECTED RESULT KDiff3 should open :) SOFTWARE/OS VERSIONS Windows: 10.0.22631.4169 ADDITIONAL INFORMATION
Looks like craft has mixed qt binaries. Awaiting fix.
Just verified that the installer itself does not cause this issue if retrieved from downloaded via https://download.kde.org/stable/kdiff3/kdiff3-1.11.4-windows-64-cl.exe.mirrorlist. My issue was triggered by having a mix of qt 6.7.1 and 6.7.2 on available on the PATH. When qt detects mixed versions it aborts and attempts to log a message to console. This message may not be visible in windows. If you upgraded from an older version of kdiff3 it no longer requires separate installation of qt or kf. Theses and all other dependencies are now bundled with it and will be installed under the same directory as kdiff3 itself.
Just to add a bit more information on the installation process, I install KDiff3 from chocolatey and I have upgraded it from a previous version. Never have as installed Qt standalone or through any other app as far as I know.
Trying uninstalling and reinstalling something might have been left behind for the old install. KDiff3 will attempt to remove all files in its install directory during an upgrade but may need a reboot to complete this process. Due how kde translations work the shell extension ends up depending on qt. These files being in use prevents their full removal with out a reboot.