• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Palemoon missing ieshims.dll

So I was messing around with dependency walker and for the hell of it I ran palemoon.exe and it told me ieshims.dll was missing. I copied the driver from IE to the Palemoon directory and I still see it missing when I double click on shlwapi.dll in dependency walker.

I have noticed that when I use YouTube and close the tab and only have one tab open and go to close the tab Palemoon tells me do you want to close the multiple tabs? I only have one tab open. Then one day I said what is this and closed the first tab and sure enough a bunch of code was on the screen from YouTube. Not sure if this is related or not, but I'd just throw this out there. It could be one of my add-ons like YouTube center. Don't know. Palemoon works and I updated to the latest, just disconcerting.



gxBXboB.jpg
 
never had this issue ever...

I would suggest uninstalling Pale Moon and choose the remove settings and then reinstall it from scratch and start with a fresh profile. nothing beats that IMHO
 
I just installed Pale Moon in another Win 7 machine and it too can't find the ieshims.dll. I'm guessing ieshims.dll isn't included in Pale Moon.
 
Sigh. You're reading it wrong. Dependency Walker is fun to play around with, but it's ultimately a developer tool and its results require proper interpretation.

First, if you load just about anything, you'll notice that ieshims is "missing".

Second, you really should only be looking at the top level of the dependency tree. I.e., the DLLs directly in Pale Moon's import tables. IEShims.dll is not one of them.

So where is it in the dependency tree? Buried somewhere in shell32's tree. And not even a direct import of shell32, either. Shell32.dll imports another DLL which imports another DLL and after some levels of indirection, you get a DLL that imports IEShims.

Shell32 is basically, well, the core code of the Windows Shell. File Explorer, the desktop, start menu, taskbar, etc. So programs that interact with the Shell (i.e., pretty much everything) has shell32 in their import tables.

But that does not mean that you get all of shell32's baggage (and its baggage's baggage). You'll notice the hourglass overlay in most of these imports. That means that these are delay-loaded DLLs. I.e., DLLs that are loaded dynamically, at run-time, and only when needed.

In this case, ieshims is delay-loaded by ieframe which is delay-loaded by the shell document viewer, which is delay-loaded by shell32. Which means that ieshims will load via shell32 only if 1) an application uses the shell document viewer (which Pale Moon probably doesn't) to 2) view something that requires an embedded IE and 3) to request that IE compatibility shims be used. Only when all of these conditions are met will ieshims actually attempt to load, and Pale Moon (and virtually all other programs that import shell32) don't even meet step 1.

You'll notice that most of the entire cast of Windows DLLs are somewhere in that extended dependency tree, but, again, the vast, vast majority of them will never load because they are never triggered to load.

Update: As for why depends can't find ieshims, it's probably because it's installed in Program Files and not in System32. So it's not in the standard DLL search path that Pale Moon would use, but Pale Moon won't be the one loading it. Its parent (ieframe.dll) will know where to find it, so this isn't actually a problem (Dependency Walker doesn't know what paths will actually be searched when loading DLLs, so it guesses by using the common search paths defined on the system.)
 
Last edited:
I just installed Pale Moon in another Win 7 machine and it too can't find the ieshims.dll. I'm guessing ieshims.dll isn't included in Pale Moon.

I just ran a search on ieshims.dll

That file isn't for Pale Moon, it's a Windows file for god's sake.

if you want me to send the file to you I'd happily do it. But it's not Pale Moon's fault

check the locations of the file in my search:

2gtt3iq.jpg
 
But it's not Pale Moon's fault

Of course it's not Pale Moon's fault. The vast majority of Windows programs have ieshims in their dependency tree by way of shell32. This is all a giant misunderstanding of how Dependency Walker and Windows DLLs work.
 
Last edited:
Back
Top