ok this error occurs for one of 3 reasons.
- mozglue.dll can’t be found.
- mozglue.dll dependencies can’t be found.
- mozglue.dll isn’t the right arch. (eg. it’s 32bit and Paratext.exe is in 64 bit mode)
Your screen shot shows that mozglue.dll can locate it’s dependencies. (missing deps has been the cause of previous errors like this), so (2) is ruled out.
So either (1) or (3) is the issue. (or I guess a different problem I’m not aware of).
- debugging mozglue.dll can’t be found.
Paratext uses SetDllDirectory to allow finding the firefox dlls.
In order to bypass the need for this, copy (not move) all the files
from: C:\Program Files (x86)\Paratext 9\Firefox
into: C:\Program Files (x86)\Paratext 9\
this should mean that they exist next to Paratext.exe, which is a default location to look for dlls.
Alternatively one could add “C:\Program Files (x86)\Paratext 9\Firefox” to the PATH environment var, which would do a similar thing.
- confirming mozglue.dll arch matches Paratext.exe run mode.
I would use corFlags.exe to tell me about Paratext.exe:
CorFlags.exe “c:\Program Files (x86)\Paratext 9\Paratext.exe”
Microsoft ® .NET Framework CorFlags Conversion Tool. Version 3.5.30729.1
Copyright © Microsoft Corporation. All rights reserved.
Version : v4.0.30319
CLR Header: 2.5
PE : PE32
CorFlags : 3
ILONLY : 1
32BIT : 1
Signed : 0
The “32Bit : 1” flag tells me that this Paratext.exe runs in 32bit mode.
Another way of checking is, when Paratext is , open taskmanager and find the Paratext process. On my win 10 system at least it says : “Paratext (32bit)”
As for your mozglue.dll I can already see from that depends.exe screen shot you posted that it is 32bit, as It contains entry point “??0ConditionVariableImpl@detail@mozilla@@QAE@XZ”
While the 64bit entry point is “??0ConditionVariableImpl@detail@mozilla@@QEAA@XZ”
Now if Paratext is in 32bit mode, and Paratext.exe still can’t find mozglue.dll when it’s next to Paratext.exe then I’m out of ideas…