我目前正在使用相同的源代码进行两个ReactJs
Electron
项目。如果我的陈述令人困惑,我在同一个源代码上得到了Product A
和Product B
,但两者之间的差异是徽标和配置。
当我使用electron-builder
生成可执行文件时,它确实是两个不同的可执行文件,当我安装这两个可执行文件时,它确实是两个不同的应用程序。但问题是,当我打开这两个应用程序,它覆盖了以前的安装。
我确实假设在我的electron.js
和appId
,name
以及package.json
中的其他项目上更改setAppUserModelId
会诱使Windows认为这两个项目是不同的,但最终它并没有。
//electron.js
app.on("ready", () => {
createWindow();
if (process.platform === "win32") {
app.setAppUserModelId("com.product.a"); //similar thing goes to Product B
}
});
//package.json
"build": {
"appId": "com.product.a",
"win": {
"target": "NSIS",
"icon": "build/logo.ico"
}
},
问题:
我先安装productA.exe
,然后安装productB.exe
,两个应用程序确实显示为单独的应用程序,但当我启动Product A
时,它显示Product B
,当我启动Product B
时,它显示Product B
(这没有错)。
期望:
我在这里试图实现的是,当我安装productA.exe
时,它显示Product A
,当我安装productB.exe
时,它显示Product B
。
问题:
是我的项目配置错误还是我遗漏了什么?
3条答案
按热度按时间oxalkeyp1#
通过将“build”内部的appId移到外部来重构package.json后,问题就解决了。
3yhwsihp2#
你应该修改package.json“name”:“产品A”或“产品B”
qgelzfjb3#
我还没有一个好的办法来解决这个问题。更改appId的位置不起作用。