Explorer DiffMerge menu problem on Win64
Moderator: SourceGear
Explorer DiffMerge menu problem on Win64
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
- Contact:
Re: Explorer DiffMerge menu problem on Win64
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
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
Re: Explorer DiffMerge menu problem on Win64
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
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
- Contact:
Re: Explorer DiffMerge menu problem on Win64
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
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
Re: Explorer DiffMerge menu problem on Win64
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
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
- Contact:
Re: Explorer DiffMerge menu problem on Win64
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
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
Re: Explorer DiffMerge menu problem on Win64
Thank your very much!