Explorer DiffMerge menu problem on Win64
Moderator: SourceGear
7 posts
• Page 1 of 1
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 |
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 |
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 |
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 |
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 |
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 |
Thank your very much!
|
|
7 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 2 guests