nwjs / nw.js

Call all Node.js modules directly from DOM/WebWorker and enable a new way of writing applications with all Web technologies.
https://nwjs.io
MIT License
40.39k stars 3.88k forks source link

Uncaught Error: A dynamic link library (DLL) initialization routine failed. #7470

Open yerkeyzet opened 4 years ago

yerkeyzet commented 4 years ago

NWJS Version : 0.45.5-sdk Node.js : 14.2.0 Operating System : Windows 10 Enterprise 1909

Expected behavior

NW.js app should run with module node-rfc.

Actual behavior

It throws an error: Uncaught Error: A dynamic link library (DLL) initialization routine failed. \?\C:\Storage\code\nwjs-hands-on\node_modules\node-rfc\lib\binding\sapnwrfc.node

How to reproduce

1) npm install node-rfc

2) In index.js include it: const rfc = require('node-rfc')

3) npm start

This is enough to reproduce the issue, error will appear in Dev tools console.

I have tried bunch of variants to rebuild this module, but nothing helps :( What I have tried:

1) Install VS Build Tools 2019 Install Python 2.7 npm install -g nw-gyp

set PYTHON=C:\Python27\python.exe set npm_config_target=0.45.5 set npm_config_arch=x64 set npm_config_target_arch=x64 set npm_config_runtime=node-webkit set npm_config_build_from_source=true set npm_config_node_gyp=C:\Users\uuu\AppData\Roaming\npm\node_modules\nw-gyp\bin\nw-gyp.js npm install node-rfc --msvs_version=2019

2) npm install node-rfc --build-from-source --runtime=node-webkit --target=0.45.5 --target_arch=x64

3) npm i -g windows-build-tools node-gyp Replace C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_load_hook.cc with from https://github.com/nwjs/nw.js/blob/nw18/tools/win_delay_load_hook.cc npm install node-rfc

Spent a couple of days on this... Please help!

yerkeyzet commented 4 years ago

Here are ready to run codes.

nwjs-hands-on.zip

yerkeyzet commented 4 years ago

Btw node-rfc module works well in Node app on the same machine.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.