链接运行应用程序ElectronJS、C#时的路径问题

jgovgodb  于 2023-03-10  发布在  Electron
关注(0)|答案(1)|浏览(147)

我正在使用ElectronJS为自己构建一个应用程序,以打开各种应用程序。
当我从app1运行一个app2时,它也运行app3app2不再能找到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#应用程序中也遇到过同样的问题。有人知道发生了什么吗?
谢谢

3duebb1j

3duebb1j1#

我解决了这个问题。所以如果有人会有同样的问题,解决方案是CWD或当前工作目录。在app1中,您需要传递workingDirectory参数,app2将了解它自己的工作目录在哪里,以便从那里运行app3

shell.openExternal(appList.app2, 
            {workingDirectory: path.dirname(appList.app2)});

相关问题