【发布时间】:2021-01-08 06:22:36
【问题描述】:
我的电子应用程序依赖于 C++ dll 文件。我能够在浏览器中唤醒 Electron App,但它所依赖的文件没有加载,我得到了win32 error 126。如果我选择直接双击打开Electron,而不是从浏览器打开,它所依赖的文件会加载进去。一切正常。
使用浏览器唤醒 Electron 应用和双击打开 Electron 应用有什么区别?
电子生成器版本:20.19.2
电子版:2.0.18
我的代码: 包.json
"build": {
"extraResources": [
{
"from": "./a.dll",
"to": "../"
},
{
"from": "./c.pem",
"to": "../"
},
{
"from": "./b.dll",
"to": "../"
}
],
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"include": "script/urlProtocol.nsh"
}
}
urlProtocol.nsh
!macro customInstall
DetailPrint "Register voice URI Handler"
DeleteRegKey HKCR "voice"
WriteRegStr HKCR "voice" "" "URL:voice"
WriteRegStr HKCR "voice" "URL Protocol" ""
WriteRegStr HKCR "voice\shell" "" ""
WriteRegStr HKCR "voice\shell\Open" "" ""
WriteRegStr HKCR "voice\shell\Open\command" "" "$INSTDIR\${APP_EXECUTABLE_FILENAME} %1"
!macroend
a.dll、b.dll、c.pem在项目根目录下
【问题讨论】: