我正在使用ElectronJS为自己构建一个应用程序,以打开各种应用程序。
当我从app1
运行一个app2
时,它也运行app3
,app2
不再能找到app3
,因为路径已经被更改为app1
的目录,如果我将app3
移动到app1
的目录,app2
可以找到app3
。
另外,如果我通过双击app2.exe
直接运行app2
,它运行app3
没有问题。
应用程序列表如下所示:
const appList = {
app1: `${path.join(exepath, '..')}\\381637ea\\2ab88db2\\app1.exe}`,
app2: `${path.join(exepath, '..')}\\e23bf9a0\\698700a7\\app2.exe}`, //app2.exe runs bin64/app3.exe
}
我是这样执行的:
shell.openExternal(appList.app2);
我尝试使用path.resolve
,但没有帮助。
我记得在C#应用程序中也遇到过同样的问题。有人知道发生了什么吗?
谢谢
1条答案
按热度按时间3duebb1j1#
我解决了这个问题。所以如果有人会有同样的问题,解决方案是CWD或当前工作目录。在
app1
中,您需要传递workingDirectory
参数,app2
将了解它自己的工作目录在哪里,以便从那里运行app3
: