Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Edge fails on machines without msvcr110.dll on the DLL path #85

Closed
tjanczuk opened this issue Sep 26, 2013 · 3 comments
Closed

Edge fails on machines without msvcr110.dll on the DLL path #85

tjanczuk opened this issue Sep 26, 2013 · 3 comments

Comments

@tjanczuk
Copy link
Owner

Current mechanism of co-locating msvcr110.dll with edge.node does not work - the dll search sequence does not include this location. As a result edge apps on machines that do not otherwise have msvcr110.dll on the dll search path fail with

module.js:477
  process.dlopen(filename, module.exports);
          ^
Error: Unable to load shared library F:\test\lib\native\win32\x64\0.6.20\edge.node
    at Object..node (module.js:477:11)
    at Module.load (module.js:353:31)
    at Function._load (module.js:311:12)
    at Module.require (module.js:359:17)
    at require (module.js:375:17)
    at Object.<anonymous> (F:\test\lib\edge.js:25:12)
    at Module._compile (module.js:446:26)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)
    at Function._load (module.js:311:12)

One workaround is to copy the appropriate version of msvcr110.dll next to the node.exe used to run the application, e.g.:

copy F:\test\lib\native\win32\x64\0.6.20\msvcr110.dll "c:\program files\nodejs\"

Complete and correct workaround TBD.

@tjanczuk
Copy link
Owner Author

The log from Process Monitor used to diagnose this indicates lack of success in looking up msvcr110.dll:

8:08:46.6202445 PM  node.exe    4500    QueryOpen   F:\test\MSVCR110.dll    NAME NOT FOUND  
8:08:46.6203987 PM  node.exe    4500    QueryOpen   D:\Windows\System32\MSVCR110.dll    NAME NOT FOUND  
8:08:46.6205897 PM  node.exe    4500    QueryOpen   D:\Windows\System\MSVCR110.dll  NAME NOT FOUND  
8:08:46.6207335 PM  node.exe    4500    QueryOpen   D:\Windows\MSVCR110.dll NAME NOT FOUND  
8:08:46.6208638 PM  node.exe    4500    QueryOpen   F:\test\MSVCR110.dll    NAME NOT FOUND  
8:08:46.6209900 PM  node.exe    4500    QueryOpen   D:\Windows\System32\MSVCR110.dll    NAME NOT FOUND  
8:08:46.6211146 PM  node.exe    4500    QueryOpen   D:\Windows\MSVCR110.dll NAME NOT FOUND  
8:08:46.6212431 PM  node.exe    4500    QueryOpen   D:\Windows\System32\wbem\MSVCR110.dll   NAME NOT FOUND  
8:08:46.6213745 PM  node.exe    4500    QueryOpen   D:\Windows\System32\WindowsPowerShell\v1.0\MSVCR110.dll NAME NOT FOUND  
8:08:46.6215477 PM  node.exe    4500    QueryOpen   D:\Users\flhsadmin\AppData\Roaming\npm\MSVCR110.dll NAME NOT FOUND  
8:08:46.6217299 PM  node.exe    4500    QueryOpen   D:\Program Files (x86)\nodejs\MSVCR110.dll  NAME NOT FOUND  

@tjanczuk
Copy link
Owner Author

This issue was reproed on Windows Azure Worker Role machines.

@thomasdunn
Copy link

I have a similar issue with msvcr120.dll when using Edge.JS from some ASP.NET Web API code. I've included msvcr120.dll from C:\windows\system32 on my dev machine in the bin\edge\x64 (or x86) directory alongside node.dll to workaround. Event Viewer shows Windows Activation Service (WAS) errors. Process Monitor shows same "NAME NOT FOUND" errors as above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants