Explorer DiffMerge menu problem on Win64

Support for our DiffMerge utility.

Moderator: SourceGear


Posts: 8
Joined: Mon Aug 10, 2009 4:41 am
PostPosted: Sun Mar 07, 2010 7:18 am
The DiffMerge Explorer menu doesn't work if is called on Win64 from the Total Commander. The "X64/DiffMerge" menu is visible and has an arrow as if it contains subitems, but they are not shown neither by positioning a pointer nor by a click.

Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
PostPosted: Mon Mar 08, 2010 7:26 am
I've never used Total Commander and we've never tested DiffMerge with
Total Commander (32 or 64 bit), so I can't say that I'm surprised. Could
you give us more info about your system so that we might investigate it?

Which version of Windows?
Which version of Total Commander?
Which version of DiffMerge?

Do you have the standalone version of DiffMerge or the one bundled with Fortress/Vault?
Does the DiffMerge context menu appear properly when used from Windows Explorer?

Thanks,
jeff

Posts: 8
Joined: Mon Aug 10, 2009 4:41 am
PostPosted: Tue Mar 09, 2010 1:57 am
Jeff, thanks for your reply

Versions are as follows:

Win7 Ultimate 6.1.7600 64-bit
Total Commander 7.50a 24.9.2009 (32bit)
DiffMerge 3.3.0 (18513) standalone

The DiffMerge menu is shown properly from the Explorer

Regards,
Ilya

Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
PostPosted: Tue Mar 09, 2010 8:12 am
I don't have 64 bit Win 7 system at my finger tips, so I can't test
this and have to speculate, but I think I see the problem. Win 7
is 64 bit and Total Commander is 32 bit.

DiffMerge has both a 32 bit and a 64 bit shell extension DLL and only
installs the one that is appropriate for the OS and Windows Explorer.
On 64 bit Windows, Windows Explorer is 64 bit and can only run 64 bit
DLLs.

It looks like Total Commander is a 32 bit EXE, so it cannot directly
load/run a 64 bit DLL. It looks like TC has a 64 bit interlude (helper
app called tcmdx64.exe) that attempts to help them get around this.
So it's hard to say where the problem is (especially given the
"semi-documented" nature of shell extensions....)

I'll have to log this and take a look when I have access to a 64 bit Win 7
system.

If you're feeling brave and are comfortable with regedit, regsrv32 and
all that goes with it (and understand all the "have a good backup" warnings
and/or make a system checkpoint :-) ),
you might try un-registering the 64 bit DLL and registering the 32 bit DLL.
This would break disable it in Windows Explorer, but *might* let it work from TC.
I think the MSI installer only installs the appropriate versions of the files on
the system, so you'd need to get the .ZIP version. There are 4 files:
DiffMergeShellExtension.DLL
DiffMergeShellExtensionUAC.EXE
DiffMergeShellExtension64.DLL
DiffMergeShellExtensionUAC64.EXE
The latter 2 should already be in "C:/Program Files/SourceGear/DiffMerge".
Copy the other 2 to the same directory. Close TC and any Windows Explorer
windows. As an administrator, CD to that directory and run:
DiffMergeShellExtensionUAC64.EXE /u
DiffMergeShellExtensionUAC.EXE /r
You may have to log out after that (and/or between them) if you get
complains about locked files. Then restart TC and see what happens.
If you need to undo all of this, run:
DiffMergeShellExtensionUAC.EXE /u
DiffMergeShellExtensionUAC64.EXE /r
(or use your system checkpoint).

Again, I haven't/can't test this, so good luck and let me know if you decide
to try it and get it to work.

jeff

item:15288

Posts: 8
Joined: Mon Aug 10, 2009 4:41 am
PostPosted: Wed Mar 10, 2010 4:02 am
Jeff, thank you for your recipe

I've done so, but when I try to "DiffMergeShellExtensionUAC.EXE /r" i get a system error "This is the 32-bit version..".

Ilya

Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
PostPosted: Wed Mar 10, 2010 6:54 am
I guess that's not going to work then. Sorry to run you
through all that. I'll have to borrow a Win64 machine
and see if I can figure out what's wrong and fix it in the
next release.

jeff

Posts: 8
Joined: Mon Aug 10, 2009 4:41 am
PostPosted: Wed Mar 10, 2010 6:57 am
Thank your very much!

Return to Support (DiffMerge)

Who is online

Users browsing this forum: No registered users and 1 guest