asar
asar copied to clipboard
(Windows Only) Cannot recognized `\\?\` prefix in unpacked path
ELECTRON_ASAR.js:158 Uncaught Error: The specified module could not be found.
\\?\D:\x\desktop\VizMusicPlayer\dist\win\Viz Music Player-win32-x64\resources\app.asar.unpacked\node_modules\sharp\build\Release\sharp.node
detail info: https://github.com/electron-userland/electron-packager/issues/424
I am having a similar issue I just compiled the hello from node nan and required it from an Asar and got the same error. I added asar.unpacked on *.node or let the .node in the packed file and got the behaviour.
I also only got this behaviour on some windows 7 machines, windows 8 and 10 worked even with the .node inside the asar.
I did an app without asar run trhough electron and I'm still getting the "?\PATH" not found so I don't think is an assar issue, it's maybe an electron or node issue
Seems to be related https://github.com/nodejs/node/issues/2964
+1
+1... any update ? thanks
What is the current status of this? It seems to me that Node is modifying the path to prepend the //?/ prefix in order to trigger a Microsoft hack to support real long filenames. However, something in electron-asar doesn't understand/support this. I have no workaround to this.
Why the wontfix label? What's the workaround?
It is not a bug of asar after my 2 day digging. In my case, I use node-java.It throw flowing error:
Uncaught Error: %1 is not a valid Win32 application.
\\?\F:\tmp\test\win-ia32-unpacked\resources\app\node_modules\java\build\Release\nodejavabridge_bindings.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> (F:\tmp\test\win-ia32-unpacked\resources\app\node_modules\java\lib\nodeJavaBridge.js:21:16)
at Object.<anonymous> (F:\tmp\test\win-ia32-unpacked\resources\app\node_modules\java\lib\nodeJavaBridge.js:316:3)
I flow laggingreflex's idea.
https://github.com/soldair/node-qrcode/issues/22
native module can not be load because it's dependences was missing.
U can use dependencywalker
to found out what denpendences was missing, and try to copy to path of entry or add to system path
environment variable!
I got this problem
The specified module could not be found.
I read a lot of issue and then remove the asar option.
It worked....But Why this happened? Only on Windows
@JackieLs how did you remove the asar
??
@mridah Maybe my description is not very accurate.Just set it false.
module.exports = {
appVersion: pkg.version,
arch: ['x64'], // ia32, x64, armv7l, all
asar: os.platform() !== 'win32', //when on win32 is false.default is true.
dir: path.join(__dirname, '../app'),
icon: path.join(__dirname, '../app/icons/icon'),
ignore: /renderer/,
out: path.join(__dirname, '../builds'),
overwrite: true,
platform: process.env.PLATFORM_TARGET,
}
@JackieLs so I can use asar: false
in module.exports
. right ?
the module.exports
is just to export the config.You can set the config in any where.
It is not a bug of asar after my 2 day digging. In my case, I use node-java.It throw flowing error:
Uncaught Error: %1 is not a valid Win32 application. \\?\F:\tmp\test\win-ia32-unpacked\resources\app\node_modules\java\build\Release\nodejavabridge_bindings.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> (F:\tmp\test\win-ia32-unpacked\resources\app\node_modules\java\lib\nodeJavaBridge.js:21:16) at Object.<anonymous> (F:\tmp\test\win-ia32-unpacked\resources\app\node_modules\java\lib\nodeJavaBridge.js:316:3)
I flow laggingreflex's idea. soldair/node-qrcode#22 native module can not be load because it's dependences was missing. U can use
dependencywalker
to found out what denpendences was missing, and try to copy to path of entry or add to systempath
environment variable!
I don't think this is a denpendency issue. this happens only when I bundle my app with asar option on.