atom-archive / node-runas

Run command synchronously (with Administrator privilege)
MIT License
47 stars 20 forks source link

Managed to build, but cannot run #30

Closed pupeno closed 7 years ago

pupeno commented 7 years ago

I managed to build runas installing Python 2.7 and Visual Studio (2017) with all the C++ components:

C:\Users\pupeno\Documents\Dashman\clients>npm install runas

> runas@3.1.1 install C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas
> node-gyp rebuild

C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas>if not defined npm_config_node_gyp (node "C:\Users\pupeno\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  main.cc
  runas_win.cc
  win_delay_load_hook.cc
     Creating library C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\runas.lib and object C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\runas.exp
  Generating code
  Finished generating code
  runas.vcxproj -> C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\\runas.node
  runas.vcxproj -> C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\runas.pdb (Full PDB)
npm WARN clients No repository field.
npm WARN clients No license field.

+ runas@3.1.1
updated 1 package in 6.01s

C:\Users\pupeno\Documents\Dashman\clients>

but when I try to run my application, I get this error:

App threw an error during load
Error: A dynamic link library (DLL) initialization routine failed.
\\?\C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\runas.node
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
    at Object.Module._extensions..node (module.js:598:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\lib\runas.js:4:11)
    at Object.<anonymous> (C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\lib\runas.js:47:4)

Process finished with exit code 1

I'm not very familiar with win32 so I'm not even sure where to begin.

My installation looks like this:

C:\Users\pupeno\Documents\Dashman\clients>dir /s /b node_modules\runas
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\.travis.yml
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\binding.gyp
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\lib
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\LICENSE.md
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\package.json
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\README.md
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\src
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\test.js
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\binding.sln
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\config.gypi
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\runas.vcxproj
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\runas.vcxproj.filters
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\runas.exp
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\runas.lib
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\runas.map
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\runas.node
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\runas.pdb
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\main.obj
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas.tlog
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas_win.obj
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\vc141.pdb
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\win_delay_load_hook.obj
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas.tlog\CL.command.1.tlog
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas.tlog\CL.read.1.tlog
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas.tlog\CL.write.1.tlog
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas.tlog\link.command.1.tlog
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas.tlog\link.read.1.tlog
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas.tlog\link.write.1.tlog
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas.tlog\runas.lastbuildstate
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\build\Release\obj\runas\runas.tlog\runas.write.1u.tlog
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\lib\runas.js
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\src\fork.cc
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\src\fork.h
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\src\main.cc
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\src\runas.h
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\src\runas_darwin.cc
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\src\runas_posix.cc
C:\Users\pupeno\Documents\Dashman\clients\node_modules\runas\src\runas_win.cc

I don't see any .dll files (is .lib a DLL?).

pupeno commented 7 years ago

This was due to the system's and electron's nodejs being different.

https://github.com/electron/electron-rebuild solved the problem